首页 > 开发 > Java > 正文

JAVA 根据身份证计算年龄的实现代码

2024-07-14 08:40:45
字体:
来源:转载
供稿:网友

下面一段代码给大家分享java/203977.html">java根据身份证计算年龄的方法,具体代码如下所示:

birthDate = idCard.substring(6,10)+"-"+idCard.substring(10,12)+"-"+idCard.substring(12,14)public static int getAgefromBirthTime(String birthTimeString){ // 先截取到字符串中的年、月、日 String strs[] = birthTimeString.trim().split("-"); int selectYear = Integer.parseInt(strs[0]); int selectMonth = Integer.parseInt(strs[1]); int selectDay = Integer.parseInt(strs[2]); // 得到当前时间的年、月、日 Calendar cal = Calendar.getInstance(); int yearNow = cal.get(Calendar.YEAR); int monthNow = cal.get(Calendar.MONTH) + 1; int dayNow = cal.get(Calendar.DATE); // 用当前年月日减去生日年月日 int yearMinus = yearNow - selectYear; int monthMinus = monthNow - selectMonth; int dayMinus = dayNow - selectDay; int age = yearMinus; if (yearMinus < 0) {// 选了未来的年份  age = 0; } else if (yearMinus == 0) {// 同年的,要么为1,要么为0  if (monthMinus < 0) {// 选了未来的月份   age = 0;  } else if (monthMinus == 0) {// 同月份的   if (dayMinus < 0) {// 选了未来的日期    age = 0;   } else if (dayMinus >= 0) {    age = 1;   }  } else if (monthMinus > 0) {   age = 1;  } } else if (yearMinus > 0) {  if (monthMinus < 0) {// 当前月>生日月  } else if (monthMinus == 0) {// 同月份的,再根据日期计算年龄   if (dayMinus < 0) {   } else if (dayMinus >= 0) {    age = age + 1;   }  } else if (monthMinus > 0) {   age = age + 1;  } } return age;}

下面在看下java根据出生日期获得年龄

public static int getAge(Date birthDay) throws Exception {   Calendar cal = Calendar.getInstance();   if (cal.before(birthDay)) {    throw new IllegalArgumentException(     "The birthDay is before Now.It's unbelievable!");   }   int yearNow = cal.get(Calendar.YEAR);   int monthNow = cal.get(Calendar.MONTH);   int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);   cal.setTime(birthDay);   int yearBirth = cal.get(Calendar.YEAR);   int monthBirth = cal.get(Calendar.MONTH);   int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);   int age = yearNow - yearBirth;   if (monthNow <= monthBirth) {    if (monthNow == monthBirth) {     if (dayOfMonthNow < dayOfMonthBirth) age--;    }else{     age--;    }   }   System.out.println("age:"+age);   return age;  }

总结

以上所述是小编给大家介绍的JAVA 根据身份证计算年龄,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对VeVb武林网网站的支持!


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表