2012-01-03 58 views
5

我的時區中的下午好。比較一天中的月份和年份

我想比較兩個日期,其中一個是由用戶插入,另一個是當前日期。的代碼片段:

var dateString = "2012-01-03" 
    var date = new Date(dateString); 
    date < new Date() ? true : false; 

這返回true,我覺得這兩個日期對象轉換成毫秒,然後進行比較引擎蓋下,如果是這樣的「今天」的對象是更大的,因爲小時和分鐘所以我想要做的就是比較日期和月份和年份。最好的方法是什麼?創建一個新的Date對象,然後在比較之前將小時分鐘和毫秒重置爲零?或從兩個日期對象中提取月份和年份的日期並進行比較?有沒有更好的方法?

在此先感謝 致以最良好的問候。 新年快樂

+0

更多信息,被發現在: - http://stackoverflow.com/questions/492994/compare-two-dates-with-javascript – 2016-01-25 18:22:17

回答

14

設置您創建的date to zeros的時間部分。

var d = new Date(); 
d.setHours(0,0,0,0); 
+1

完美的解決方案 – tt0686 2012-01-03 15:33:15

0

因爲它是在YYYY-MM-DD格式,你可以建立電流從Date對象YYYY-MM-DD,做一個普通的字符串比較:關於日期轉換

var currentDate = new Date(); 
var year = currentDate.getFullYear(); 
var month = currentDate.getMonth()+1; 
if (month < 10) month = "0" + month; 
var day = currentDate.getDate(); 
if (day < 10) day = "0" + day; 
currentDate = year + "-" + month + "-" + day; 

var dateString = "2012-01-03" 
var compareDates = dateString < currentDate ? true : false; 
document.write(compareDates);