我有两个日期:
Date startDate = "24/05/2020;
Date endDate = "21/09/2021";
如何计算年/月/日中的差异
示例:1年3个月27天
您可以使用LocalDate#until
来获取Period
对象,从中可以进一步导出天、月、年等。
演示:
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy", Locale.ENGLISH);
LocalDate startDate = LocalDate.parse("24/05/2020", formatter);
LocalDate endDate = LocalDate.parse("21/09/2021", formatter);
Period period = startDate.until(endDate);
System.out.println(period);
System.out.println(formatPeriod(period));
}
static String formatPeriod(Period period) {
return String.format("%d years %d months %d days", period.getYears(), period.getMonths(), period.getDays());
}
}
输出:
P1Y3M28D
1 years 3 months 28 days