2012-07-06 83 views
2

什么是最佳(最清晰,最短,最快等)方式来确定Date对象是否等于2012年7月4日?如何测试日期对象是否等于特定日期

例如,这工作,但相当冗长:

if (date.getFullYear() === 2012 && date.getMonth() + 1 === 7 && date.getDate() === 4) 

是否有一个更优雅的解决方案?

(在我的实际情况中,服务器端代码将插入特定的日期进行测试。另外,date来自jQuery UI日期选择器,因此将具有00:00:00的时间组件。)

回答

5

构造一个新的日期和getTime比较结果:

var existingDate = new Date('2012', '6', '4'); 
new Date('2012', '6', '4').getTime() == existingDate.getTime(); 
+0

在第二个例子,是“2012年7月4日”保证被解析为M/d/YYYY? – 2012-07-06 16:20:20

+1

不,这是一个很好的观点。它是系统和区域特定的。使用'new Date('2012-07-04T00:00:00')getTime()== existingDate.getTime()'可能会有更好的运气,但通常最好使用单独参数构造。我想我会删除第二部分。如果有人想看,它就在编辑历史中。 – 2012-07-06 16:33:49

相关问题