确定日期是否在JavaScript中的最佳方法是什么?

我在JavaScript中有一个日期对象,我想知道这个日期是否是今天。 这样做的最快方法是什么?

我关心的是比较日期对象,因为人们可能有不同的时间,但今天的任何时间都应该返回true

你可以使用toDateString

 var d = new Date() var bool = (d.toDateString() === otherDate.toDateString()); 

我认为基于toDateString()的答案会起作用,但我个人会避免使用它们,因为它们基本上都会提出错误的问题。

这是一个简单的实现:

 function areSameDate(d1, d2) { return d1.getFullYear() == d2.getFullYear() && d1.getMonth() == d2.getMonth() && d1.getDate() == d2.getDate(); } 

如果这不是您所需要的, MDN对JS Date对象API有一个很好的概述。

 var someDate = new Date("6 Dec 2011").toDateString(); var today = new Date().toDateString(); var datesAreSame = (today === someDate); 

如果两者都是Date()对象,您可以使用它来“格式化”日期,它只会在年/月/日进行比较: if(inputDate.setHours(0,0,0,0) == todaysDate.setHours(0,0,0,0));

几乎相同的问题: 如何检查输入日期是否等于今天的日期?