我想获得两个日期之间的年数。我可以得到这两天之间的天数,但如果我将它除以365,则结果不正确,因为有些年份有366天。如何计算两个日期之间的年数?
这是我的代码来获取日期差:
var birthday = value;//format 01/02/1900
var dateParts = birthday.split("/");
var checkindate = new Date(dateParts[2], dateParts[0] - 1, dateParts[1]);
var now = new Date();
var difference = now - checkindate;
var days = difference/(1000*60*60*24);
var thisyear = new Date().getFullYear();
var birthyear = dateParts[2];
var number_of_long_years = 0;
for(var y=birthyear; y <= thisyear; y++){
if((y % 4 == 0 && y % 100 == 0) || y % 400 == 0) {
number_of_long_years++;
}
}
天算完美。我试图做添加额外的天数时,它是一个366天的一年,我在做这样的事情:
var years = ((days)*(thisyear-birthyear))
/((number_of_long_years*366) + ((thisyear-birthyear-number_of_long_years)*365));
我得到的年计数。这是正确的,还是有更好的方法来做到这一点?
莫非这项工作? http://www.datejs.com/ –
这是** javascript **不** ** [jquery](http://jquery.com)** – Matt
毫米实际上添加额外的数据是错误的我认为所以我会删除它 –