根据身份证号码计算出生日期、年龄、性别(18位) 根据入职时间计算工龄。

1、根据身份证号码计算出生日期、年龄、性别(18位)

  

复制代码 代码如下:

  //获取输入身份证号码

  var UUserCard = $("#UUserCard").val();

  //获取出生日期

  //UUserCard.substring(6, 10) + "-" + UUserCard.substring(10, 12) + "-" + UUserCard.substring(12, 14);

  //获取性别

  if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) {

  //男

  } else {

  //女

  }

  //获取年龄

  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++;

  }

  //年龄 age

  2、根据入职时间计算工龄

  

复制代码 代码如下:

  //获取输入的入职时间转换为Date

  var UToTime = $("UToTime").val();

  var aDate = UToTime.split("-");

  //因为月份值0-11,这里把输入的月份减一

  var NewDate = new Date(aDate[0], aDate[1] - 1, aDate[2]);

  //当前时间

  var myDate = new Date();

  //时间相减得到毫秒值

  var dif = myDate.getTime() - NewDate.getTime();

  myDate.setTime(dif);

  //结果为【1年5月29日】这种

  //myDate.getFullYear() - 1970 + "年" + myDate.getMonth() + "月" + myDate.getDate() + "日"