YearMonth のメモ

Java8 java.time.YearMonth は、
以下を見れば済むことなのだけれども、書く機会が少なかったのでメモ
https://docs.oracle.com/javase/jp/8/docs/api/java/time/YearMonth.html

YearMonth ym = YearMonth.of(2020, 12).plusMonths(3);

System.out.println(ym2.format(DateTimeFormatter.ofPattern("yyyyMM")));

標準出力結果

202103

4か月分リスト

List<YearMonth> list = Stream.iterate(YearMonth.of(2020, 12), t->t.plusMonths(1))
.limit(4)
.collect(Collectors.toList());

System.out.println(list);

標準出力結果

[2020-12, 2021-01, 2021-02, 2021-03]

日付から。。。

String str = "20201203";

List<YearMonth> list
= Stream.iterate(
   YearMonth.parse(str, DateTimeFormatter.ofPattern("yyyyMMdd"))
   , t->t.plusMonths(1)
).limit(4)
.collect(Collectors.toList());

同じ結果になる