2012-07-06 134 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

相關問題