由于您不在乎情况如何。您只需要两个日期之间的月份数,请使用期间的文档来调整日期,它使用来解释日期
Jacob。只需将两个实例的日期设置为相同的值(每月的第一天)
Period diff = Period.between( LocalDate.parse("2016-08-31").withDayOfMonth(1), LocalDate.parse("2016-11-30").withDayOfMonth(1));System.out.println(diff); //P3M与其他解决方案相同:
long monthsBetween = ChronoUnit.MONTHS.between( LocalDate.parse("2016-08-31").withDayOfMonth(1), LocalDate.parse("2016-11-30").withDayOfMonth(1));System.out.println(monthsBetween); //3从 @OlivierGrégoire 编辑评论:
不用使用a
LocalDate并将日期设置为每月的第一天,我们可以使用
YearMonth不使用天数的单位。
long monthsBetween = ChronoUnit.MONTHS.between( YearMonth.from(LocalDate.parse("2016-08-31")), YearMonth.from(LocalDate.parse("2016-11-30")))System.out.println(monthsBetween); //3


