需要使用 java 8 确定两个日期之间的月数,但没有得到正确的月数。请在下面找到程序
public static void main(String[] args) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy", Locale.ENGLISH);
YearMonth startDate = YearMonth.parse("12/31/2020", formatter);
YearMonth endDate = YearMonth.parse("12/01/2021", formatter);
System.out.println(startDate.plusYears(1) + " :: " + endDate + " :: " + startDate.plusYears(1).isBefore(endDate));
long monthsBetween = ChronoUnit.MONTHS.between(startDate, endDate);
System.out.println(monthsBetween);
}
输出 ::
2021-12 :: 2021-12 :: false
12
所以从上面的程序中,我们在这两个日期之间有 12 个月的时间"12/31/2020" and "12/01/2021"
但实际上,上述日期之间没有几个月是 13,那么我们如何得到 12 而不是 13?
可能是我错了,但有人可以解释一下
笔记 :date format is MM/dd/yyyy