我正试图在财政年度结束时获得一个年龄。 如果我的出生日期是1962年1月16日,那么我现在的年龄是50岁(假设今天的日期是2012年1月16日)。我可以用什么javascript公式/函数计算当前财政年度结束时的年龄(即2012年6月30日)?
这是我必须得到当前年龄:
function getAge(dateString) {
var today = new Date();
var birthDate = new Date(dateString);
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
alert("current age "+age)
}
答案 0 :(得分:0)
您可以将当前财政年度的结尾用作“今天”日期,对吗?然后,当前财政年度的结束将被硬编码到函数中,或者以编程方式计算出来。
答案 1 :(得分:0)
您只需计算两个日期之间的差异:
function ageAtEOFY(birthDate) {
var eofy = new Date("2012-06-30");
var msDiff = eofy - new Date(birthDate);
return Math.floor(msDiff / 1000 / 60 / 60 / 24 / 365.25);
}
像这样使用:
ageAtEOFY("1962-01-16"); // 50
ageAtEOFY("1984-11-14"); // 27
这种方法的工作方式是eofy - new Date(birthDate)
为您提供两个日期之间的差异,以毫秒为单位。剩下的就是把这个价值转换成几年。
请注意,这里有一点点傻瓜:闰年don't simply occur every four years。