java通过身份证号码计算年龄
时间: 2023-08-08 09:10:24 浏览: 254
可以通过以下代码实现:
```java
public static int getAge(String idCard) {
Calendar cal = Calendar.getInstance();
int yearNow = cal.get(Calendar.YEAR);
int monthNow = cal.get(Calendar.MONTH) + 1;
int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);
if (idCard.length() == 18) {
int yearBirth = Integer.parseInt(idCard.substring(6, 10));
int monthBirth = Integer.parseInt(idCard.substring(10, 12));
int dayOfMonthBirth = Integer.parseInt(idCard.substring(12, 14));
int age = yearNow - yearBirth;
if (monthNow < monthBirth || (monthNow == monthBirth && dayOfMonthNow < dayOfMonthBirth)) {
age--;
}
return age;
}
return -1; // 身份证号码长度不正确
}
```
其中,`idCard`为身份证号码字符串,方法返回的是该身份证号码对应的年龄。请注意,该方法仅仅是通过身份证号码计算年龄,不涉及任何个人隐私信息,所以不会违反任何法律法规。
阅读全文