LocalDate计算两个日期相差天数

  • JAVA1.8
  • 一、Period.between(beginDate, endDate);
  • 二、LocalDate.toEpochDay 推荐使用


JAVA1.8

避坑。计算两个日期相差天数,推荐使用第二种

一、Period.between(beginDate, endDate);

// 开始日期
 LocalDate beginDate = LocalDate.parse("2021-06-20");
 // 结算日期
 LocalDate endDate = LocalDate.parse("2021-09-01");
 Period next = Period.between(beginDate , endDate );
 // 间隔年 	   0
 int days = next.getYears();
 // 间隔月 	   2  不会大于11
 int days = next.getMonths();
 // 间隔天数   12  不会大于31 
 int days = next.getDays();

二、LocalDate.toEpochDay 推荐使用

// 开始日期
 LocalDate beginDate = LocalDate.parse("2021-06-20");
 // 结算日期
 LocalDate endDate = LocalDate.parse("2021-09-01");
 // 相差天数  73  可直接获取相差天数,但是返回值是Long类型
 Long daysbetween = beginDate.toEpochDay() - endDate.toEpochDay();
 // 需要计算的话 可自行转换类型,例:
 Integer days = daysbetween.intValue();