@SuppressWarnings("deprecation")
public String getAge(String idcard){
if(StringUtils.isNotBlank(idcard)){
String y=idcard.substring(6,10);
String m=idcard.substring(10,12);
String d=idcard.substring(12,14);
Date birthday = new Date(y+"/"+m+"/"+d);
Calendar now = Calendar.getInstance();
Calendar b = Calendar.getInstance();
b.setTime(birthday);
int year = now.get(Calendar.YEAR) - b.get(Calendar.YEAR);
int month = now.get(Calendar.MONTH) - b.get(Calendar.MONTH);
int day = now.get(Calendar.DAY_OF_MONTH) - b.get(Calendar.DAY_OF_MONTH);
if (month < 0) {
month = 12 - b.get(Calendar.MONTH) + now.get(Calendar.MONTH);
year -= 1;
}
if (day < 0) {
day = b.getMaximum(Calendar.DAY_OF_MONTH) - b.get(Calendar.DAY_OF_MONTH) + now.get(Calendar.DAY_OF_MONTH);
month -= 1;
}
if(year>0){
return year + "岁";
}else if(year==0&&month>0){
return month + "月";
}else if(year==0&&month==0&&day>0){
return day + "天";
}
}
return null;
}
详细解决方案
身份证号获取年龄 (几岁 或者 几个月 或者几天 )
热度:37 发布时间:2023-09-05 17:44:59.0