根据生日日期计算年龄

function getAge(strAge) {
const birArr = strAge.split("-");
const birYear = Number(birArr[0]);
const birMonth = Number(birArr[1]);
const birDay = Number(birArr[2]);
const today = new Date();
const nowYear = today.getFullYear();
const nowMonth = today.getMonth() + 1; //记得加1
const nowDay = today.getDate();
let returnAge;
if (birArr === null) {
return false
};
const d = new Date(birYear, birMonth - 1, birDay);
console.log(d.getFullYear(), birYear, (d.getMonth() + 1), birMonth, d.getDate(), birDay);
if (d.getFullYear() === birYear && (d.getMonth() + 1) === birMonth && d.getDate() === birDay) {
if (nowYear === birYear) {
returnAge = 0; //
} else {
let ageDiff = nowYear - birYear; //
if (ageDiff > 0) {
if (nowMonth === birMonth) {
let dayDiff = nowDay - birDay; //
if (dayDiff < 0) {
returnAge = ageDiff - 1;
} else {
returnAge = ageDiff;
}
} else {
let monthDiff = nowMonth - birMonth; //
if (monthDiff < 0) {
returnAge = ageDiff - 1;
} else {
returnAge = ageDiff;
}
}
} else {
return "出生日期晚于今天,数据有误"; //返回-1 表示出生日期输入错误 晚于今天
}
}
return returnAge;
} else {
return ("输入的日期格式错误!");
}
}
posted @   SultanST  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示