java 根据身份证号计算年龄
时间: 2023-09-04 14:11:55 浏览: 143
根据身份证号计算年龄的公式为:当前年份减去出生年份,如果出生月份大于当前月份,则再减去1;如果出生月份等于当前月份,且出生日期大于当前日期,则也减去1。以下是一个示例 Java 代码:
```java
import java.time.LocalDate;
import java.time.Period;
public class AgeCalculator {
public static int calculateAge(String idNumber) {
int birthYear = Integer.parseInt(idNumber.substring(6, 10));
int birthMonth = Integer.parseInt(idNumber.substring(10, 12));
int birthDay = Integer.parseInt(idNumber.substring(12, 14));
LocalDate birthDate = LocalDate.of(birthYear, birthMonth, birthDay);
LocalDate currentDate = LocalDate.now();
Period period = Period.between(birthDate, currentDate);
return period.getYears();
}
}
```
其中,`idNumber` 是身份证号,返回值为计算出的年龄。这里使用了 Java 8 中的 `LocalDate` 类和 `Period` 类来计算年龄,代码更加简洁易读。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)