如何用毫秒解析 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。
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。