0

我正在定义一个格式化程序,如下所示:

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

有任何想法吗?

4

0 回答 0