Java8的String类型的birthDay,如何根据当前时间,计算其年龄?
时间: 2024-10-10 17:14:17 浏览: 29
java中基本类型及string类型
在Java 8中,你可以通过日期处理API来计算字符串形式的出生日期(假设它是一个格式化的`yyyy-MM-dd`)到当前日期之间的年龄。首先,你需要将字符串转换为`LocalDate`对象,然后与当前日期进行比较。以下是一个简单的步骤:
```java
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
public class AgeCalculator {
public static int calculateAge(String birthDayStr) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate birthDay = LocalDate.parse(birthDayStr, formatter);
LocalDate currentDate = LocalDate.now();
Period agePeriod = Period.between(birthDay, currentDate);
return agePeriod.getYears();
}
public static void main(String[] args) {
String birthDay = "1990-05-20";
System.out.println("Age: " + calculateAge(birthDay));
}
}
```
在这个例子中,`calculateAge`方法接受一个出生日期字符串,解析它,获取当前日期,然后计算两个日期之间的时间差(以年为单位)。注意这个方法返回的是整数岁,不考虑月份和天。
阅读全文