2014-02-07 223 views
1

我試圖做一個網站,告訴你(年,月,周,小時,分鐘和秒)你多大了。我已經把他們全部的工作分開幾個月和幾年了。一旦我得到了幾個月,我將能夠獲得這些年(希望),但是我很難想辦法獲得這些月份。對於其他人來說,這很容易(一旦我有了生日和當前日期之間的秒數,我可以將秒轉換爲幾分鐘,幾小時,幾天等),但幾個月後我需要考慮事實上它們都是不同的長度,而閏年(目前也不影響日子)。兩個日期()之間的JavaScript差異

+0

@Fjpackard:見http://stackoverflow.com/questions/18913579/compare-two-date-formats-in-javascript-jquery –

回答

0

希望這可以幫助你

// Set the unit values in milliseconds. 
var msecPerMinute = 1000 * 60; 
var msecPerHour = msecPerMinute * 60; 
var msecPerDay = msecPerHour * 24; 

// Set a date and get the milliseconds 
var date = new Date('6/15/1990'); 
var dateMsec = date.getTime(); 

// Set the date to January 1, at midnight, of the specified year. 
    date.setMonth(0); 
    date.setDate(1); 
    date.setHours(0, 0, 0, 0); 

// Get the difference in milliseconds. 
    var interval = dateMsec - date.getTime(); 

// Calculate how many days the interval contains. Subtract that 
// many days from the interval to determine the remainder. 
    var days = Math.floor(interval/msecPerDay); 
    interval = interval - (days * msecPerDay); 

// Calculate the hours, minutes, and seconds. 
    var hours = Math.floor(interval/msecPerHour); 
    interval = interval - (hours * msecPerHour); 

    var minutes = Math.floor(interval/msecPerMinute); 
    interval = interval - (minutes * msecPerMinute); 

    var seconds = Math.floor(interval/1000); 

// Display the result. 
    document.write(days + " days, " + hours + " hours, " + minutes + " minutes, " + seconds + " seconds."); 

//Output: 164 days, 23 hours, 0 minutes, 0 seconds. 
0

你可以考慮外部庫?退房http://momentjs.com/

您可以輕鬆地做類似

date1.diff(date2, 'months')