我在这里关注丹尼尔的回答:Compare two dates with JavaScript
但它没有按原样运作。这是我的代码:
selectedDateEnd
是从jQuery UI Datepicker中选择的日期
controller
是列表中的日期(添加的最后日期(将来))
12096e5
是一个幻数,是14天(以毫秒为单位)。
用户只能创建比最后创建的项目早14天的新项目。
if(+selectedDateEnd >= (+controller + 12096e5)){
cl('selectedDateEnd >= controller');
cl(selectedDateEnd + ' >= ' + controller);
} else {
cl('selectedDateEnd < controller');
cl(selectedDateEnd + ' < ' + controller);
}
输出是这样的:
selectedDateEnd < controller
Thu Feb 12 2015 00:00:00 GMT+0100 < Thu Feb 12 2015 00:00:00 GMT+0100
根据逻辑,它应输出:
Thu Feb 12 2015 00:00:00 GMT+0100 >= Thu Feb 12 2015 00:00:00 GMT+0100
我在这里做错了什么?看我的小提琴:http://jsfiddle.net/ueoxv9w7/
答案 0 :(得分:2)
您只是在if
条件中添加幻数,而不是在打印日期时添加。
这样做:
//12096e5 is a magic number which is 14 days in milliseconds.
controller.setTime(+controller + 12096e5);
if(+selectedDateEnd >= +controller){
cl('selectedDateEnd >= controller');
cl(selectedDateEnd + ' >= ' + controller);
} else {
cl('selectedDateEnd < controller');
cl(selectedDateEnd + ' < ' + controller);
}