私はjava.time.Period#getDays()
を使用して、LocalDate
秒の日数を取得します。2つの日付間の期間を取得する
ほとんどの場合はうまくいくように見えますが、1か月間は0日間の期間があります。
次のテストケースは(java.lang.AssertionError: expected:<30> but was:<0>
)失敗:
@Test
public void testOneMonthPeriodDays() {
Period p = Period.between(LocalDate.of(2017, 06, 01), LocalDate.of(2017, 07, 01));
assertEquals(30, p.getDays());
}
私は同じ結果を確認することができます。 – bhspencer
私はp.getMonths()== 1を賭けるでしょう。 'Period'は年、月、日のカウントです。あなたのケースは1ヶ月と0日になります。 – GriffeyDog