Java 不遵循半开放进近的时间间隔
我有两个Java 不遵循半开放进近的时间间隔,java,java-time,Java,Java Time,我有两个LocalDate,我想找出它们之间的区别: LocalDate date1 = LocalDate.of(2018,11,30); LocalDate date2 = LocalDate.of(2019, 5, 1); 当我执行: long mthsDiff = ChronoUnit.MONTHS.between(date1, date2); 这返回5,但实际上应该是6 为什么ChronoUnit.MONTHS.between不遵守半开放方法?它不应该回到4月份吗(2019-04-
LocalDate
,我想找出它们之间的区别:
LocalDate date1 = LocalDate.of(2018,11,30);
LocalDate date2 = LocalDate.of(2019, 5, 1);
当我执行:
long mthsDiff = ChronoUnit.MONTHS.between(date1, date2);
这返回5,但实际上应该是6
为什么ChronoUnit.MONTHS.between
不遵守半开放方法
?它不应该回到4月份吗(2019-04-30
)?
我错过什么了吗
我理解第二个论点是排他性的。
以下是我预期的情景:
date1 = 2018-11-16
date2 = 2019-04-15
expect 5
date1 = 2018-11-16
date2 = 2019-04-16
expect 5
date1 = 2018-11-16
date2 = 2019-04-17
expect 6
date1 = 2018-11-16
date2 = 2019-04-15
expect 5
我想这说明了一切:
计算将返回一个整数,表示
完成两个时态之间的单位。例如,在
从11:30到13:29之间的时间只有一个小时
两小时差一分钟
11月30日至5月1日之间的整月数为5:
因此,两个月之间有5个完整的月份
"2018-11-30"
December -> 1
January -> 2
February -> 3
March -> 4
May -> 5
"2019-05-01"
正如医生所说的
该计算返回一个整数,表示两个时间单位之间的完整单位数
及
因此,两个月之间有5个完整的月份
"2018-11-30"
December -> 1
January -> 2
February -> 3
March -> 4
May -> 5
"2019-05-01"
你介意接受回答还是在评论中询问细节你介意接受回答还是在评论中询问细节