Java LocalDate根据出生日期计算年龄,精确到日
时间: 2023-08-29 08:12:51 浏览: 256
要计算一个人的年龄,可以使用Java 8中的LocalDate类。以下是一个示例代码:
```java
LocalDate birthdate = LocalDate.of(1990, 1, 1);
LocalDate today = LocalDate.now();
int age = Period.between(birthdate, today).getYears();
System.out.println("Age: " + age);
```
在上面的代码中,我们首先创建了一个`LocalDate`对象表示出生日期。然后,我们使用`LocalDate.now()`方法创建一个对象表示今天的日期。接下来,我们使用`Period.between()`方法来计算两个日期之间的时间差,即出生日期和今天的日期之间的年龄差。最后,我们使用`getYears()`方法从`Period`对象中提取年龄值。这样,我们就可以得到一个整数表示一个人的年龄。
如果你想精确到日,可以使用`ChronoUnit`类来计算两个日期之间的天数差。以下是一个示例代码:
```java
LocalDate birthdate = LocalDate.of(1990, 1, 1);
LocalDate today = LocalDate.now();
long days = ChronoUnit.DAYS.between(birthdate, today);
System.out.println("Days: " + days);
```
在上面的代码中,我们使用`ChronoUnit.DAYS.between()`方法计算出生日期和今天日期之间的天数差。注意,这里返回的是一个`long`类型的值,表示两个日期之间的天数差。如果需要更加精确的计算,可以使用`ChronoUnit.HOURS`、`ChronoUnit.MINUTES`或`ChronoUnit.SECONDS`等时间单位来计算。
阅读全文