我在这里把头发拉一点。我知道==比较将始终在两个日期对象之间返回false。但实际上我不明白为什么无论我用哪种方式设置运算符,该代码每次都会返回false。
var prevWeek = response.prevWeek // The date to compare.
, pickedDate = prevWeek.split("-");
var pickedDate = new Date(pickedDate[0], pickedDate[1], pickedDate[2]);
var todaysDate = new Date();
console.log(pickedDate); // logs Thu Apr 17 2014 00:00:00 GMT+0100 (GMT)
console.log(todaysDate); // logs Fri Nov 15 2013 18:30:13 GMT+0000 (GMT)
var compareValueOf = pickedDate.valueOf() < todaysDate.valueOf();
console.log(compare); // always returns false
var compare2 = pickedDate < todaysDate;
console.log(compare2); // always returns false
var compare3 = pickedDate.getTime() < todaysDate.getTime();
console.log(compare3); // always returns false
最佳答案
如果pickedDate设置为2014年,而todaysDate设置为2013年,则pickedDate不可能小于TodaysDate。
关于javascript - 无论使用哪个运算符,“日期比较”始终返回false,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20008303/