如何在 JavaScript 中比较日期?


在 JavaScript 中,日期比较很容易,日期可以属于任何时间范围,例如过去、现在或未来。过去日期可以与未来日期比较,未来日期可以与过去和现在日期比较。

Date 对象可以满足你的需求,为每个日期创建一个 Date 对象,然后使用 (>,<,<= 或 >=) 进行比较。==, !=, === 和 !== 运算符需要使用date.getTime()

在 JavaScript 中,我们可以通过将日期转换为与其时间相对应的数值来比较两个日期。首先,我们可以使用getTime()方法将日期转换为数值,然后直接比较这些数值。

示例 1

在下面的示例中,我们将当前日期与提供的日期进行比较。

<!DOCTYPE html>
<html>
<head>
   <title>Compare the date with other date</title>
</head>
<body>
   <p id="compare"></p>
   <script>
      var today = new Date();
      var otherday = new Date();
      otherday.setFullYear(2022, 01, 19);
      if (otherday > today) {
         var date = "The date you provide is a future date";
      } else {
         var date = "The date you provide is a past date";
      }
      document.getElementById("compare").innerHTML = date;
   </script>
</body>
</html>

示例 2

下面的示例说明了使用getTime()函数比较日期。

<!DOCTYPE html>
<html>
<head>
   <title>Compare the date with other date</title>
</head>
<body>
   <p id="compare"></p>
   <script>
      var d1 = new Date();
      var d2 = new Date();
      if (d1.getTime() === d2.getTime()) document.write("Both are equal");
      else document.write("Not equal");
   </script>
</body>
</html>

示例 3

在下面的示例中,JavaScript 代码说明了如何比较两个给定的日期。

<!DOCTYPE html>
<html>
<head> </head>
<body>
   <script>
      var d1 = new Date(2019, 08, 03, 11, 45, 55); // (YYYY, MM, DD, Hr, Min, Sec)
      var d2 = new Date(2019, 08, 03, 11, 45, 55);
      if (d1.getTime() < d2.getTime())
         document.write("d1 is lesser than d2");
      else if (d1.getTime() > d2.getTime())
         document.write("d1 is greater than d2");
      else document.write("both are equal");
   </script>
</body>
</html>

示例 4

在下面的示例中,我们比较了两个日期,但逻辑是 day1 自动获取当前日期,day2 传入日期。

注意 - 如果传入月份值,则月份值为月份值 - 1,例如 - 如果你想传入一月,则值为 1-1 = 0,二月值为 1,以此类推。可以直接说它像数组索引一样取值,0,1,2,3,4……

<!DOCTYPE html>
<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8" />
   <meta http-equiv="X-UA-Compatible" content="IE=edge" />
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>date compare</title>
</head>
<body>
   <script>
      var day1 = new Date();
      day1.setHours(0, 0, 0, 0);
      var day2 = new Date(2022, 06, 20);
      day2.setHours(0, 0, 0, 0); //here we are stoping the clock
      document.write("day1=>", day1);
      document.write("<br \>day2=>", day2);
      if (day1 > day2) {
         document.write("<br \>day1 is greater than day2");
      } else if (day1 < day2) {
         document.write("<br \>day1 is older than day2");
      } else {
         document.write("<br \>day1 and day2 are same");
      }
   </script>
</body>
</html>

更新于:2022年12月6日

3K+ 次浏览

启动你的 职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.