Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较javascript日期不正确_Javascript_Date - Fatal编程技术网

比较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);
}