回答

收藏

JS日期对比

前端知识 前端知识 1016 人阅读 | 0 人回复 | 2024-08-31

  1. <!DOCTYPE html>
  2. <html>

  3.     <head>
  4.         <meta charset="UTF-8">
  5.         <title>写一个JS对比时间的例子</title>
  6.     </head>

  7.     <body>
  8.     </body>
  9.     <script>
  10.         function compareTime(a, b) {
  11.             var arr = a.split("-"); //log [2016,04,06]
  12.             var start = new Date(arr[0], (arr[1] - 1), arr[2]);
  13.             var starts = start.getTime(); //输出时间戳进行对比
  14.             var arrs = b.split("-");
  15.             var end = new Date(arrs[0], (arrs[1] - 1), arrs[2]);
  16.             var ends = end.getTime();
  17.             if (starts >= ends)
  18.                 console.log('开始时间大于结束时间');
  19.             else
  20.                 console.log('开始时间小于结束时间');
  21.         }
  22.         compareTime('2016-05-03', '2016-05-04');
  23.     </script>

  24. </html>
复制代码
有一点要注意的就是这一句
var starttime = new Date(arr[0], (arr[1] - 1), arr[2]);
月份记得在函数里面减去1
因为在Javascript中,月份的数值是从0到11之间的整数(1月至12月),例如5就是代表6月,
这里要是要注意的
其他的话按照正常转换为时间戳进行对比即可
后面再增加一个方法就是判断时间是星期几,看改进的例子
  1. function compareTime(a, b) {
  2.             var arr = a.split("-"); //log [2016,04,06]
  3.             var start = new Date(arr[0], (arr[1] - 1), arr[2]);
  4.             var starts = start.getTime(); //输出时间戳进行对比
  5.             var arrs = b.split("-");
  6.             var end = new Date(arrs[0], (arrs[1] - 1), arrs[2]);
  7.             var ends = end.getTime();
  8.             var weekDay = ["星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
  9.             //getDay() 方法可返回表示星期的某一天的数字。
  10.             console.log("开始时间是" + weekDay[start.getDay()] + "\r\n" + "结束时间是" + weekDay[end.getDay()]);
  11.             var now = new Date();
  12.             console.log("现在是" + weekDay[now.getDay()]);
  13.             if (starts >= ends)
  14.                 console.log('开始时间大于结束时间');
  15.             else
  16.                 console.log('开始时间小于结束时间');
  17.         }
  18.         compareTime('2016-05-03', '2016-05-04');
复制代码
其实关键就是getDay()函数返回值,返回值是0(周日)到6(周六)之间的一个整数。

分享到:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

58 积分
16 主题
+ 关注