我想知道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;
我想知道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;
假设有两个日期d1
和d2
,d2
两者中较大的一个在哪里:
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--;
}