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