我在表单中有两个日期:
results
即使我将客户网站上的日期设置为var date = Wed Oct 07 2015 19:48:08 GMT+0200 (Central European Daylight Time);
var dateOne = new Date(date);
var dateTwo = new Date();
if (dateOne == dateTwo )
alert ("equals");
else{
alert("not equal");
}
,我仍然会Wed Oct 07 2015 19:48:08 GMT+0200 (Central European Daylight Time)
...
即使我这样做了:
not equal
var data1 = new Date();
var data2 = new Date();
if (data1 == data2)
alert ("equals");
else{
alert("not equal");
}
再次出现。我做错了什么?
答案 0 :(得分:9)
当您将对象与==
进行比较时,它会检查它们是否是相同的对象,而不仅仅是相同的值。
您可以尝试区分它们以查看它是否为0:
if (data1-data2 === 0)
alert ("equals");
else{
alert("not equal");
}
答案 1 :(得分:3)
可能它们在几毫秒之间有所不同。如果您不需要那么精确,那么在比较之前修剪几毫秒。
date1.setMilliseconds(0);
date2.setMilliseconds(0);
答案 2 :(得分:2)
每当你调用Date()时,你会得到一个不同的日期,因为时间过去了。如果你设置date2 = date1,那么它们才会相等。日期有一个毫秒组件。