0

可能重复:
如何在 JavaScript 中获取两个日期之间的差异?

我想知道javascript如何计算两个日期之间的年月。因此,例如在 26/10/2012 和 26/11/2013 之间,有 1 年 1 个月

我已经尝试过了,但它是错误的:(

var diff =  (new Date(y, m - 1, d).getTime(2011,(11-1),26) - new Date(2012, (11-1), 26).getTime()) / 1000 / 60 / 60 / 24 / 30;
4

1 回答 1

3

假设有两个日期d1d2d2两者中较大的一个在哪里:

var month_diff = (d2.getFullYear() - d1.getFullYear()) * 12 + d2.getMonth() - d1.getMonth();
var years = floor(month_diff / 12);
var months = month_diff % 12;
alert(years + 'years and ' + months + ' months');

如果您的要求只是计算整月,您可以在第一行之后添加以下内容:

if (d2.getDate() - d1.getDate() < 0 && month_diff > 0) {
   month_diff--;
}
于 2012-10-26T12:16:04.583 回答