年月日两个日期之间的差异



我有两个日期:

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

最新更新