有没有办法计算Javascript中两个不同日期之间的年数(也考虑闰年)和月份?
答案 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)
这可能是一个有用的来源:
答案 2 :(得分:-2)
答案 3 :(得分:-2)
您将在此处找到完整的javascript function验证。
编辑:链接已经死了 - 这是一个简单的JS系列,用于计算两个日期之间的差异:
return dateTo.getMonth() - dateFrom.getMonth() +
(12 * (dateTo.getFullYear() - dateFrom.getFullYear()));
假设您有两个名为dateTo
和dateFrom
的变量的日期。