我有下面的代码。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
LocalDateTime myDate = LocalDateTime.parse("2020-11-16T02:27:39.345Z", formatter);
但它在第二行中抛出了下面的错误。不知道为什么会抱怨 Z
```
java.time.format.DateTimeParseException: Text '2020-11-16T02:27:39.345Z' could not be parsed at index 23
at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2046)
at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1948)
at java.base/java.time.LocalDateTime.parse(LocalDateTime.java:492)
1条答案
按热度按时间z4bn682m1#
LocalDateTime
没有时区或区域偏移信息,而日期时间字符串有区域偏移。这封信,Z
在日期的末尾,时间字符串代表zulu,即区域偏移UTC
. 你可以把它分解成OffsetDateTime
或者ZonedDateTime
或者Instant
直接(即不使用自定义DateTimeFormatter
).演示:
输出: