比较javascript日期无法正常工作

时间:2014-12-23 10:51:24

标签: javascript date

我在这里关注丹尼尔的回答: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/

1 个答案:

答案 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);
}