我正在将日期与以下内容进行比较:
var dt = new Date();
dt.setDate("17");
dt.setMonth(06);
dt.setYear("2009");
var date = new Date();
console.log("dt(%s) == date(%s) == (%s)", dt, date, (dt == date) );
if( now == dt ) {
....
}
字符串值当然是动态的。
在我看到的日志中:
dt(Fri Jul 17 2009 18:36:56 GMT-0500 (CST)) == date(Fri Jul 17 2009 18:36:56 GMT-0500 (CST) == (false)
我尝试了 .equals() 但它没有用(我正在尝试 JavaScript 的 Java 部分 :P )
我如何比较这些日期以使它们返回 true?
最佳答案
下面的代码应该可以解决您的问题:
(myDate.getTime() == myOtherDate.getTime())
问题是当你写的时候:
(myDate == myOtherDate)
...您实际上是在问“myDate
是否指向与 myOtherDate
指向的对象相同的对象?”,而不是“myDate
是否指向同一对象?” code> 与 myOtherDate
相同?”。
解决方案是使用 getTime
获取表示 Date 对象的数字(并且由于 getTime
返回自纪元时间以来的毫秒数,因此该数字将是一个 < em>Date 对象的精确表示),然后使用此数字进行比较(比较数字将按预期工作)。
关于javascript - 比较 javascript 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1146216/