次のようにフォーマッタを定義しています。
private static final DateTimeFormatter FORMATTER =
new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendLiteral("y")
.appendValue(IsoFields.WEEK_BASED_YEAR, 4, 10, SignStyle.EXCEEDS_PAD)
.appendLiteral("w")
.appendValue(IsoFields.WEEK_OF_WEEK_BASED_YEAR, 2)
.toFormatter();
次の解析呼び出しを使用して、有効であると思われる次の文字列を入力しています。
LocalDate.parse(inputString, FORMATTER).atStartOfDay()
の値は次のとおりですinputString。
- y2019w52
- y2020w01
- y2019w03
すべてが解析エラーをスローしています。次に例を示します。
テキスト 'y2019w03' を解析できませんでした: TemporalAccessor から LocalDate を取得できません: {WeekOfWeekBasedYear=3, WeekBasedYear=2019},タイプ java.time.format.Parsed の ISO
何か案は?