我正在定义一个格式化程序,如下所示:
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
有任何想法吗?