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根据身份证计算年龄,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!