根据出生日期获取年龄

//根据身份证号码算出年龄
function pub_get_age_pid(lv_pid) {  //必须和 dateTimeFormate 方法一起添加
var strBirthday = lv_pid.substr(6, 4) + "-" + lv_pid.substr(10, 2) + "-" + lv_pid.substr(12, 2);
if (strBirthday == null || strBirthday == "") {
//alert("出生日期不能为空");
return "";
}
var returnAge;
var strBirthdayArr = strBirthday.split("-");
var birthYear = strBirthdayArr[0];
var birthMonth = strBirthdayArr[1];
var birthDay = strBirthdayArr[2];

//屏蔽获取客户端时间的方法
/*d = new Date();
var nowYear = d.getFullYear();
var nowMonth = d.getMonth() + 1;
var nowDay = d.getDate();*/

//该方法能从服务端获取服务器时间
var test_date = $.ajax({async: false}).getResponseHeader("Date");
var test_date2 = dateTimeFormate(test_date).toString();
var nowYear = parseInt(test_date2.substring(0, 4));
var nowMonth = parseInt(test_date2.substring(5, 7));
var nowDay = parseInt(test_date2.substring(8, 10));

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;//返回周岁年龄
}


//根据出生日期算出年龄
function
pub_get_age(strBirthday) { if (strBirthday == null || strBirthday == "") { return ""; } var returnAge; var strBirthdayArr = strBirthday.split("-"); var birthYear = strBirthdayArr[0]; var birthMonth = strBirthdayArr[1]; var birthDay = strBirthdayArr[2]; //屏蔽获取客户端时间的方法 /*d = new Date(); var nowYear = d.getFullYear(); var nowMonth = d.getMonth() + 1; var nowDay = d.getDate();*/ //该方法能从服务端获取服务器时间 var test_date = $.ajax({async: false}).getResponseHeader("Date"); var test_date2 = dateTimeFormate(test_date).toString(); var nowYear = parseInt(test_date2.substring(0, 4)); var nowMonth = parseInt(test_date2.substring(5, 7)); var nowDay = parseInt(test_date2.substring(8, 10)); 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;//返回周岁年龄 }



//格式化时间的方法
function dateTimeFormate(date) {
if (!date) {
return
} else {
var d = new Date(date);
var year = d.getFullYear();
var month = ('0' + (d.getMonth() + 1)).slice(-2);
var day = ('0' + (d.getDate())).slice(-2);
var hour = ('0' + (d.getHours())).slice(-2);
var minutes = ('0' + (d.getMinutes())).slice(-2);
var seconds = ('0' + (d.getSeconds())).slice(-2);
return year + "-" + month + "-" + day + " " + hour + ":" + minutes + ":" + seconds;
}
}
 
原文地址:https://www.cnblogs.com/qianyuhebaobao/p/11211116.html