如何获得两个Java LocalDate之间的天,月和年?

设置两个Java日期:

LocalDate date1 = LocalDate.of(2019, 3, 25);
LocalDate date2 = LocalDate.of(2019, 4, 29);

现在,使用Period类between()方法获取两个日期之间的差:

Period p = Period.between(date1, date2);

现在,获取年,月和日:

p.getYears()
p.getMonths()
p.getDays()

示例

import java.time.LocalDate;
import java.time.Period;
public class Demo {
   public static void main(String[] args) {
      LocalDate date1 = LocalDate.of(2019, 3, 25);
      LocalDate date2 = LocalDate.of(2019, 4, 29);
      System.out.println("Date 1 = "+date1);
      System.out.println("Date 2 = "+date2);
      Period p = Period.between(date1, date2);
      System.out.println("Period = "+p);
      System.out.println("Years (Difference) = "+p.getYears());
      System.out.println("Month (Difference) = "+p.getMonths());
      System.out.println("Days (Difference) = "+p.getDays());
   }
}

输出结果

Date 1 = 2019-03-25
Date 2 = 2019-04-29
Period = P1M4D
Years (Difference) = 0
Month (Difference) = 1
Days (Difference) = 4