聞こえないJavaエンジニアが適当に書き連ねていく

つらつらとメモしたり日頃の溜まっている想いを吐き出す場所です。

Java8以降で指定した日付の前、または次の曜日の日付を求める

忘れそうなのでメモです。

TemporalAdjusters.java を使う。

docs.oracle.com

@Test
void test() {

    assertEquals(LocalDate.of(2020, 3, 24),
            LocalDate.of(2020, 3, 31).with(TemporalAdjusters.previous(DayOfWeek.TUESDAY)));

    assertEquals(LocalDate.of(2020, 4, 7),
            LocalDate.of(2020, 3, 31).with(TemporalAdjusters.next(DayOfWeek.TUESDAY)));

}