如果JS中的两个日期相等,我怎么比较?

时间:2015-10-07 17:50:49

标签: javascript

我在表单中有两个日期:

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"); } 再次出现。我做错了什么?

3 个答案:

答案 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,那么它们才会相等。日期有一个毫秒组件。