如何在Javascript中计算两个日期之间的年和月?

时间:2009-12-16 11:46:41

标签: javascript

有没有办法计算Javascript中两个不同日期之间的年数(也考虑闰年)和月份?

4 个答案:

答案 0 :(得分: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};

答案 1 :(得分:1)

这可能是一个有用的来源:

http://www.merlyn.demon.co.uk/js-date1.htm#DYMD

答案 2 :(得分:-2)

答案 3 :(得分:-2)

您将在此处找到完整的javascript function验证。

编辑:链接已经死了 - 这是一个简单的JS系列,用于计算两个日期之间的差异:

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

假设您有两个名为dateTodateFrom的变量的日期。