比较 JavaScript 日期无法正常工作
Comparing javascript dates are not working correctly
我在这里遵循丹尼尔的回答:用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/
您只在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);
}
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- 最大高度转换不;不工作,工作缓慢
- Gulp-rev:不是第一次工作,而是在第一次工作之后工作
- JQuery - Ajax: encodeUriComponent不工作(EncodeUri工作)