gpt4 book ai didi

javascript - 如何计算两个日期之间的年数?

转载 作者:IT王子 更新时间:2023-10-29 03:14:13 32 4
gpt4 key购买 nike

我想获取两个日期之间的年数。我可以得到这两天之间的天数,但如果我将它除以 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) );

我正在计算年份。这是正确的,还是有更好的方法来做到这一点?

最佳答案

流畅的基础 javascript 函数。

 function calculateAge(birthday) { // birthday is a date
var ageDifMs = Date.now() - birthday;
var ageDate = new Date(ageDifMs); // miliseconds from epoch
return Math.abs(ageDate.getUTCFullYear() - 1970);
}

关于javascript - 如何计算两个日期之间的年数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8152426/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com