我有一個JavaScript的日期對象,我想弄清楚這個日期是否是今天。這樣做的最快方法是什麼?什麼是確定日期是否在JavaScript中的最佳方式?
我的擔心是圍繞比較日期對象,因爲一個人可能與另一個人的時間不同,但今天的任何時間應返回true
。
我有一個JavaScript的日期對象,我想弄清楚這個日期是否是今天。這樣做的最快方法是什麼?什麼是確定日期是否在JavaScript中的最佳方式?
我的擔心是圍繞比較日期對象,因爲一個人可能與另一個人的時間不同,但今天的任何時間應返回true
。
你可以使用toDateString
:
var d = new Date()
var bool = (d.toDateString() === otherDate.toDateString());
謝謝@AKX解決這個問題。不知道發生了什麼:P –
如果我的格式爲「01192015」,該怎麼辦? – SearchForKnowledge
@SearchForKnowledge格式不太受關注。原始問題的前提是您的變量是以JavaScript日期對象格式開始的。至少就javascript而言,'01192015'在技術上是無效日期格式(控制檯中的'New Date('01192015')'返回「無效日期」)。但是,使用標準的'01-19-2015'將返回一個有效的日期對象,您可以使用'toDateString()'將它與今天的日期進行比較。 –
如果兩者都日期()對象,可以在某種程度上用它來「格式」的日期,它只會在年/月/日相比: if(inputDate.setHours(0,0,0,0) == todaysDate.setHours(0,0,0,0));
幾乎相同的問題: How to check if input date is equal to today's date?
var someDate = new Date("6 Dec 2011").toDateString();
var today = new Date().toDateString();
var datesAreSame = (today === someDate);
的答案基於toDateString()
會工作我認爲,但我個人會避免他們,因爲他們基本上提出錯誤的問題。
下面是一個簡單的實現:
function areSameDate(d1, d2) {
return d1.getFullYear() == d2.getFullYear()
&& d1.getMonth() == d2.getMonth()
&& d1.getDate() == d2.getDate();
}
MDN有JS Date對象API的一個體面的概述,如果這是不太你所需要的。
爲自己節省一些時間(得到它?)並使用Moment.js:http://momentjs.com/ –