Javascript - 比较日期的问题

时间:2011-06-10 15:57:55

标签: javascript

下面的代码给了我麻烦。当我从7月1日晚上11点选择fromDate时,结果3将被设置为2011年6月2日星期四11:52:26。我在chrome中检查fromDate和toDate的值,它们看起来很好,但结果3设置为古怪的日期。任何解决方案?

function(value, element, params) {
            fromDate = new Date(startDate.val());
            toDate = new Date(endDate.val());
            result1 = this.optional(element);
            result2 = fromDate <= toDate;
            result3 = new Date();
            result3.setDate(fromDate.getDate()+1);
            result5 = (toDate.getDate()+0);
            result4 = (fromDate.getDate()+1)>(toDate.getDate()+0);
            return result1 || (result2 && result4);
        }

1 个答案:

答案 0 :(得分:1)

result3.setDate(fromDate.getDate()+1)仅设置Date对象的月份日期。由于result3创建了一个新的Date对象,这意味着result3没有正确设置其时间。

如果您想将result3设置为fromDate加一天,则必须执行以下操作:

var DAY_IN_MILLISECONDS = 1000 * 60 * 60 * 24;
result3 = new Date(fromDate + DAY_IN_MILLISECONDS);

但是,由于我不确定您的变量代表什么,因此很难诊断。