为什么这不起作用?
function test() {
var start = new Date(2012, 3, 31, 19, 0, 0); // 3/31/2012 7:00 PM
var end = new Date(2012, 4, 1, 1, 0, 0); // 4/01/2012 1:00 AM
if (end < start)
console.log("oops!");
else
console.log("works!");
}
输出:
糟糕!
答案 0 :(得分:9)
月份在js中基于0
var start = new Date(2012, 2, 31, 19, 0, 0); // 3/31/2012 7:00 PM
var end = new Date(2012, 3, 1, 1, 0, 0); // 4/01/2012 1:00 AM
在您的情况下,start
和end
都是2012年5月1日。只需输出值,您就会看到。
答案 1 :(得分:3)
您的约会实际上已解决
Tue May 01 2012 19:00:00 GMT-0700 (PDT)
Tue May 01 2012 01:00:00 GMT-0700 (PDT)
来自DateMDN:
<强>月强>
表示月份的整数值,从1月的0开始到12月的11。
答案 2 :(得分:0)
我想你想看看哪一个日期在另一个之前,对吗?
当你比较两者时,你没有比较你比较对象的实际日期。试试if(end.valueOf() < start.valueOf()) { //do stuff }