/** * @param strBirthday:指的是出生日期,格式为"1990-01-01" */
//计算年龄
GetAge(strBirthday) {
var returnAge,
strBirthdayArr = strBirthday.split("-"),
birthYear = strBirthdayArr[0],
birthMonth = strBirthdayArr[1],
birthDay = strBirthdayArr[2],
d = new Date(),
nowYear = d.getFullYear(),
nowMonth = d.getMonth() + 1,
nowDay = d.getDate();
if (nowYear == birthYear) {
returnAge = 0; //同年 则为0周岁
} else {
var ageDiff = nowYear - birthYear; //年之差
if (ageDiff > 0) {
if (nowMonth == birthMonth) {
var dayDiff = nowDay - birthDay; //日之差
if (dayDiff < 0) {
returnAge = ageDiff - 1;
} else {
returnAge = ageDiff;
}
} else {
var monthDiff = nowMonth - birthMonth; //月之差
if (monthDiff < 0) {
returnAge = ageDiff - 1;
} else {
returnAge = ageDiff;
}
}
} else {
returnAge = -1; //返回-1 表示出生日期输入错误 晚于今天
}
}
return returnAge; //返回周岁年龄
}
调用:GetAge(this.form.patient_birthday) //patient_birthday自己定义的form字段名