/**
* 传入身份证号码和num.获取出生日期,性别跟年龄
* @param UUserCard 身份证号码
* @param num 1获取出生日期
* 2 获取性别
* 3 获取年龄,年龄小于1岁的时候默认为1岁
* @returns {*}
* @constructor
*/
function IdCard(UUserCard,num){
if(num==1){
//获取出生日期
birth=UUserCard.substring(6, 10) + "-" + UUserCard.substring(10, 12) + "-" + UUserCard.substring(12, 14);
return birth;
}
if(num==2){
//获取性别
if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) {
//男
return "男";
} else {
//女
return "女";
}
}
if(num==3){
//获取年龄
var myDate = new Date();
var month = myDate.getMonth() + 1;
var day = myDate.getDate();
var age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1;
if (UUserCard.substring(10, 12) < month || UUserCard.substring(10, 12) == month && UUserCard.substring(12, 14) <= day) {
age++;
}
if(age <= 0){
age = 1;
}
return age;
}
}
/**
* 获取自然天数间隔
*
* @param {String} startTime 开始时间
* @param {String} endTime 结束时间
* @return {Number} 差值
*/
utilsTime.getNaturalDayDiff = function(startTime, endTime) {
//将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式
startTime = startTime.replace(/\-/g, "/");
endTime = endTime.replace(/\-/g, "/");
// console.log("getDateDiff", startTime, endTime);
var sTime = new Date(startTime.slice(0, 10)); //开始时间
var eTime = new Date(endTime.slice(0, 10)); //结束时间
// console.log("getDateDiff", startTime, endTime);
//作为除数的数字
divNum = 1000 * 3600 * 24;
return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum));
};
/**
* 获取两个日期之间间隔的年数
* @param {String} startTime 开始时间 xxxx-xx-xx
* @param {String} endTime 结束时间 xxxx-xx-xx
*/
utilsTime.getYearDiff = function(startTime,endTime){
let days = utilsTime.getNaturalDayDiff(startTime,endTime);
let oldYear = startTime.split("-")[0];
let thisYear = endTime.split("-")[0];
var number_of_long_years = 0;
for(var y=oldYear; y <= thisYear; y++){
if( (y % 4 == 0 && y % 100 == 0) || y % 400 == 0 ) {
number_of_long_years++;
}
}
let years = (
(days)*(thisYear-oldYear))/
((number_of_long_years*366)+((thisYear-oldYear-number_of_long_years)*365));
if(!years){
return 0;
}else{
return parseInt(years);
}
}
网友评论