比较javascript日期不正确
我在这里遵循丹尼尔的回答: 但它并没有发挥应有的作用。这是我的代码:比较javascript日期不正确,javascript,date,Javascript,Date,我在这里遵循丹尼尔的回答: 但它并没有发挥应有的作用。这是我的代码: selectedDateEnd是从jQuery UI日期选择器中选择的日期 controller是列表中的日期(最后添加的日期(将来)) 12096e5是一个神奇的数字,以毫秒为单位为14天 用户只能创建比上次创建的项目早14天的新项目 if(+selectedDateEnd >= (+controller + 12096e5)){ cl('selectedDateEnd >= contro
selectedDateEnd
是从jQuery UI日期选择器中选择的日期controller
是列表中的日期(最后添加的日期(将来))12096e5
是一个神奇的数字,以毫秒为单位为14天
用户只能创建比上次创建的项目早14天的新项目
if(+selectedDateEnd >= (+controller + 12096e5)){
cl('selectedDateEnd >= controller');
cl(selectedDateEnd + ' >= ' + controller);
} else {
cl('selectedDateEnd < controller');
cl(selectedDateEnd + ' < ' + controller);
}
我做错了什么?查看我的小提琴:您只是在
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);
}
//12096e5是一个神奇的数字,以毫秒为单位为14天。
控制器设置时间(+控制器+12096e5);
如果(+选择日期>=+控制器){
cl(“selectedDateEnd>=控制器”);
cl(选择DateEnd+'>='+控制器);
}否则{
cl(“选定日期<控制器”);
cl(选择DateEnd+“<”+控制器);
}
尝试对日期对象使用getTime()。您的日期来自哪里?为什么要将12096e5
添加到控制器中?在您的帖子中,似乎两个日期都是相同的,第一条语句将第二个日期增加14天,因此这是预期的behavior@Hacketo-一元“+”的使用与getTime具有相同的效果,它返回内部时间值。请参阅我更新的问题。@Steven您使用的是getTime
,它应该在setTime
的位置。
Thu Feb 12 2015 00:00:00 GMT+0100 >= Thu Feb 12 2015 00:00:00 GMT+0100
//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);
}