比较 JavaScript 日期无法正常工作

Comparing javascript dates are not working correctly

本文关键字:工作 常工作 JavaScript 日期 比较      更新时间:2023-09-26

我在这里遵循丹尼尔的回答:用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);
}