JavaScript计算两个日期之间的年份和月份 [英] JavaScript Calc Year and Month between 2 Dates
本文介绍了JavaScript计算两个日期之间的年份和月份的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可能重复:
如何获取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;
解决方案
假设两个日期, d1
和 d2
,其中 d2
是两者中的较大者:
var month_diff =(d2.getFullYear() - d1.getFullYear())* 12 + d2.getMonth() - d1.getMonth();
var years = floor(month_diff / 12);
var month = month_diff%12;
alert(年+'年和'+月+'月份);
如果您的要求仅计算整个月份,您可以在第一行之后添加以下内容:
if d2.getDate() - d1.getDate()<&& month_diff> 0){
pre >
month_diff--;
}
Possible Duplicate:
How do I get the difference between two Dates in JavaScript?I wanted to know how javascript can count the years and months between two dates. So for example between 26/10/2012 and 26/11/2013, there are 1 year and 1 month
I have tried it so but it is wrong :(
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;
解决方案Assuming two dates,
d1
andd2
, whered2
is the greater of the two: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 your requirement is only to count full months you could add the following after the first line:
if (d2.getDate() - d1.getDate() < 0 && month_diff > 0) { month_diff--; }
这篇关于JavaScript计算两个日期之间的年份和月份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文