JAVA 根据身份证计算年龄的实现代码
程序员文章站
2023-12-11 17:34:58
下面一段代码给大家分享java根据身份证计算年龄的方法,具体代码如下所示:
birthdate = idcard.substring(6,10)+"-"+idca...
下面一段代码给大家分享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 根据身份证计算年龄,希望对大家有所帮助