0

重複の可能性:
JavaScript で 2 つの日付の違いを取得するにはどうすればよいですか?

javascript が 2 つの日付間の年と月をカウントする方法を知りたいと思いました。たとえば、2012 年 10 月 26 日から 2013 年 11 月 26 日までの間には、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

d12つの日付、およびを想定しますd2。ここd2で、は2つのうち大きい方です。

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 に答える