如何用毫秒解析 ZonedDateTime

How to parse ZonedDateTime with milliseconds

Jira 通过 Rest 给我这个日期格式 API:
2021-01-21T11:08:45.000+0100

我如何将其解析为 Java 中的 LocalDateTime

我试过了

ZonedDateTime.parse("2021-01-21T11:08:45.000+0100", DateTimeFormatter.ISO_OFFSET_DATE_TIME);

或者这样:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
ZonedDateTime.parse("2021-01-21T11:08:45.000+0100"), formatter);

结果是DateTimeParseException

由于您的值中的区域偏移量采用 +0100 格式,因此无法使用任何预定义格式化程序(如 DateTimeFormatter.ISO_OFFSET_DATE_TIME)对其进行解析,因为它希望它采用 [=] 格式13=]

您可以使用 "yyyy-MM-dd'T'HH:mm:ss.SSSZ"

模式解析 2021-01-21T11:08:45.000+0100
ZonedDateTime.parse("2021-01-21T11:08:45.000+0100", DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ"))

DateTimeFormatter的参考是here