2009-12-16 93 views
2

有沒有一種方法可以計算Javascript中兩個不同日期之間的年數(考慮閏年)和月數?如何計算Javascript中兩個日期之間的年份和月份?

+0

當你說年,月,你的意思年和幾個月? – Skilldrick 2009-12-16 11:50:43

+0

是的,當然,我能夠計算年,但無法獲得月差 – subash 2009-12-16 12:49:30

+0

嗨skilldrick我發現以下是一個有用的獲取月 http://wordsanddeeds.org/blog/2007/04/javascript-在兩個日期之間獲得月數 - 34 – subash 2009-12-16 13:17:58

回答

-2

你會在這裏找到一個完整的javascript function驗證。

編輯:鏈接已經死了 - 在這裏是一個簡單的JS線,計算兩個日期之間的月差:

return dateTo.getMonth() - dateFrom.getMonth() + 
     (12 * (dateTo.getFullYear() - dateFrom.getFullYear())); 

這是假設你有兩個變量稱爲dateTodateFrom的日期。

+0

您好,fabian,這是有用的一塊,但它不會幫助我獲得月份。 – subash 2009-12-16 12:50:15

+0

嗨,我發現這對於獲得月份很有用 http://wordsanddeeds.org/blog/2007/04/javascript-get-number-of-months-between-two-dates-34 – subash 2009-12-16 13:18:56

+2

不幸的是,鏈接是否更長的工作。 – pisaruk 2012-07-10 22:12:30

4

這是我所知道的獲得年和月的最佳途徑:

// Assumes Date From (df) and Date To (dt) are valid etc... 
var df= new Date("01/15/2010"); 
var dt = new Date("02/01/2012"); 
var allMonths= dt.getMonth() - df.getMonth() + (12 * (dt.getFullYear() - df.getFullYear())); 
var allYears= dt.getFullYear() - df.getFullYear(); 
var partialMonths = dt.getMonth() - df.getMonth(); 
if (partialMonths < 0) { 
    allYears--; 
    partialMonths = partialMonths + 12; 
} 
var total = allYears + " years and " + partialMonths + " months between the dates."; 
var totalMonths = "A total of " + allMonths + " between the dates."; 
console.log(total); 
console.log(totalMonths); 


return {jaren: allYears, maanden: partialMonths}; 
+0

我想提供:'code'function stringToDate(_date,_format,_delimiter)var formatLowerCase = _format.toLowerCase(); var formatItems = formatLowerCase.split(_delimiter); var dateItems = _date.split(_delimiter); var monthIndex = formatItems.indexOf(「mm」); var dayIndex = formatItems.indexOf(「dd」); var yearIndex = formatItems.indexOf(「yyyy」); var month = parseInt(dateItems [monthIndex]); month- = 1; var formatedDate = new Date(dateItems [yearIndex],month,dateItems [dayIndex]); return formatedDate; } – 2017-05-05 17:53:40

相關問題