JAVA 根据身份证计算年龄的实现代码
下面一段代码给大家分享java根据身份证计算年龄的方法,具体代码如下所示:
birthDate=idCard.substring(6,10)+"-"+idCard.substring(10,12)+"-"+idCard.substring(12,14) publicstaticintgetAgefromBirthTime(StringbirthTimeString){ //先截取到字符串中的年、月、日 Stringstrs[]=birthTimeString.trim().split("-"); intselectYear=Integer.parseInt(strs[0]); intselectMonth=Integer.parseInt(strs[1]); intselectDay=Integer.parseInt(strs[2]); //得到当前时间的年、月、日 Calendarcal=Calendar.getInstance(); intyearNow=cal.get(Calendar.YEAR); intmonthNow=cal.get(Calendar.MONTH)+1; intdayNow=cal.get(Calendar.DATE); //用当前年月日减去生日年月日 intyearMinus=yearNow-selectYear; intmonthMinus=monthNow-selectMonth; intdayMinus=dayNow-selectDay; intage=yearMinus; if(yearMinus<0){//选了未来的年份 age=0; }elseif(yearMinus==0){//同年的,要么为1,要么为0 if(monthMinus<0){//选了未来的月份 age=0; }elseif(monthMinus==0){//同月份的 if(dayMinus<0){//选了未来的日期 age=0; }elseif(dayMinus>=0){ age=1; } }elseif(monthMinus>0){ age=1; } }elseif(yearMinus>0){ if(monthMinus<0){//当前月>生日月 }elseif(monthMinus==0){//同月份的,再根据日期计算年龄 if(dayMinus<0){ }elseif(dayMinus>=0){ age=age+1; } }elseif(monthMinus>0){ age=age+1; } } returnage; }
下面在看下java根据出生日期获得年龄
publicstaticintgetAge(DatebirthDay)throwsException{ Calendarcal=Calendar.getInstance(); if(cal.before(birthDay)){ thrownewIllegalArgumentException( "ThebirthDayisbeforeNow.It'sunbelievable!"); } intyearNow=cal.get(Calendar.YEAR); intmonthNow=cal.get(Calendar.MONTH); intdayOfMonthNow=cal.get(Calendar.DAY_OF_MONTH); cal.setTime(birthDay); intyearBirth=cal.get(Calendar.YEAR); intmonthBirth=cal.get(Calendar.MONTH); intdayOfMonthBirth=cal.get(Calendar.DAY_OF_MONTH); intage=yearNow-yearBirth; if(monthNow<=monthBirth){ if(monthNow==monthBirth){ if(dayOfMonthNow总结
以上所述是小编给大家介绍的JAVA根据身份证计算年龄,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!