我需要根据自己的任务处理日期。准确地说,我需要检查两个日期之间的月份差是否为整数。2个日期输入参数。结果-布尔值:true
如果月份计数准确(无尾),false
否则。
例如:
之间diff_months31.01.2018
和28.02.2018
应为1个月,这是可能的组合。30.01.2018
和28.02.2018
: 1个月无尾,所以OK29.01.2018
和28.02.2018
: 1个月无尾,所以OK28.01.2018
和28.02.2018
: 1个月无尾,所以OK27.01.2018
和28.02.2018
: 0个月
让我们再参数:28.02.2018
和28.03.2018
: 1个月无尾,所以OK28.02.2018
和29.03.2018
: 1个月1天,所以失败28.02.2018
和27.03.2018
: 0个月有尾巴,所以失败
我发现java date api具有用于日期计算的特殊API,但从我的角度来看,它的工作原理是矛盾的:
LocalDate.of(2018, 1, 31).until(LocalDate.of(2018, 2, 28), ChronoUnit.MONTHS); // 0 LocalDate.of(2018, 1, 31).plusMonths(1); // but 2018-02-28
第二个结果是预期的,但第一-不是。看起来真的很奇怪。
您能否建议两个日期之间的月份计算LocalDate#plusMonths
方法与该方法一致?
慕尼黑5688855
开心每一天1111
相关分类