/**
* 计算年龄,当前月小于生日月,年龄减1
*/
public class myTest01 {
public static void main(String[] args) {
String id = "111111201508152223";
int age = getAge(id);
System.out.println(age);
}
private static int getAge(String idCard) {
String birthday = idCard.substring(6, 14);
Calendar now = Calendar.getInstance();
int nowYear = now.get(Calendar.YEAR);
int nowMonth = (now.get(Calendar.MONTH)+1);
int nowDay = now.get(Calendar.DAY_OF_MONTH);
int year = Integer.valueOf(birthday.substring(0, 4));
int month = Integer.valueOf(birthday.substring(4, 6));
int day = Integer.valueOf(birthday.substring(6));
int age = nowYear - year;
if (age <= 0 || age >= 100) {
return -1;
}
if (nowMonth - month > 0) {
return age;
}
if (nowMonth - month == 0) {
if (nowDay - day >= 0) {
return age;
}
}
return age - 1;
}
}
根据身份证号计算年龄
最新推荐文章于 2023-03-01 16:41:02 发布