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

  

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

        生日=idCard.substring (10) +“-”+ idCard.substring (10、12) +“-”+ idCard.substring (12、14)   公共静态int getAgefromBirthTime(字符串birthTimeString) {//先截取到字符串中的年,月,日   字符串str []=birthTimeString.trim () .split (“-”);   int selectYear=Integer.parseInt (str [0]);   int selectMonth=Integer.parseInt (str [1]);   int selectDay=Integer.parseInt (str [2]);//得到当前时间的年,月,日   日历卡尔=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年龄=yearMinus;   如果(yearMinus & lt;0){//选了未来的年份   年龄=0;   }else if (yearMinus==0){//同年的,要么为1,要么为0   如果(monthMinus & lt;0){//选了未来的月份   年龄=0;   }else if (monthMinus==0){//同月份的   如果(dayMinus & lt;0){//选了未来的日期   年龄=0;   }else if (dayMinus祝辞=0){   年龄=1;   }   }else if (monthMinus比;0){   年龄=1;   }   }else if (yearMinus比;0){   如果(monthMinus & lt;0){//当前月祝辞生日月   }else if (monthMinus==0){//同月份的,再根据日期计算年龄   如果(dayMinus & lt;0){   }else if (dayMinus祝辞=0){   年龄=年龄+ 1;   }   }else if (monthMinus比;0){   年龄=年龄+ 1;   }   }   返回年龄;   }      

        公共静态int getAge(日期的生日)抛出异常{   日历卡尔=Calendar.getInstance ();   如果(cal.before(生日)){   把新的IllegalArgumentException (   “现在生日之前。真是难以置信!”);   }   int yearNow=cal.get (Calendar.YEAR);   int monthNow=cal.get (Calendar.MONTH);   int dayOfMonthNow=cal.get (Calendar.DAY_OF_MONTH);   cal.setTime(生日);   int yearBirth=cal.get (Calendar.YEAR);   int monthBirth=cal.get (Calendar.MONTH);   int dayOfMonthBirth=cal.get (Calendar.DAY_OF_MONTH);   int年龄=yearNow - yearBirth;   如果(monthNow & lt;=monthBirth) {   如果(monthNow==monthBirth) {   如果(dayOfMonthNow & lt;年龄——dayOfMonthBirth);   其他}{   年龄——;   }   }   System.out.println年龄(年龄:" +);   返回年龄;   }      

  

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

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