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 ("输入的日期格式错误!");
}
}
标签:生日,ageDiff,const,birMonth,else,日期,年龄,birYear,returnAge
From: https://www.cnblogs.com/Sultan-ST/p/17071999.html