java提取身份证日期,并计算年纪
时间: 2024-10-14 10:04:31 浏览: 21
JAVA 根据身份证计算年龄的实现代码
在Java中,提取身份证上的出生日期并计算年龄通常涉及到字符串处理和日期时间操作。中国身份证号码由18位组成,第7到第14位代表出生年月日。以下是提取出生日期并计算年龄的一个简单示例:
```java
import java.time.LocalDate;
import java.time.Period;
public class Main {
public static void main(String[] args) {
String idCard = "123456789012345678"; // 假设是一个有效的18位身份证号码
String birthDateStr = idCard.substring(7, 14); // 提取出生日期
// 将字符串转换为LocalDate
LocalDate birthDate = LocalDate.parse(birthDateStr, DateTimeFormatter.ofPattern("yyyyMMdd"));
// 当前日期
LocalDate currentDate = LocalDate.now();
// 计算年龄
Period age = Period.between(birthDate, currentDate);
System.out.println("出生日期:" + birthDate);
System.out.println("当前年龄:" + age.getYears() + "岁" + (age.getMonths() > 0 ? " (" + age.getMonths() + "个月)" : ""));
}
}
```
这里我们假设输入的身份证号码格式正确。`DateTimeFormatter.ofPattern("yyyyMMdd")`用于指定日期字符串的格式。`Period.between()`方法返回两个日期之间的时间差。
阅读全文