【发布时间】:2021-05-25 20:00:11
【问题描述】:
您好,我尝试使用 DateTimeFormatter 将字符串 20110330174824917 解析为 OffsetDateTime
public static void main(String[] args) {
// System.out.println(OffsetDateTime.parse("20110330174824917", DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS")));
System.out.println(LocalDateTime.parse("20110330174824917", DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS")));
}
但我明白了
线程“主”java.time.format.DateTimeParseException 中的异常:无法解析文本“20110330174824917”,在索引 8 处找到未解析的文本
在 java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1952)
在 java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
在 java.time.LocalDateTime.parse(LocalDateTime.java:492)
嘿伙计们,这个问题似乎与 java 8 有关 https://bugs.openjdk.java.net/browse/JDK-8031085
谢谢大家的帮助
【问题讨论】:
-
好吧,您使用的是
OffsetDateTime,但是您的模式和要解析的字符串都没有区域偏移量。LocalDateTime更适合这种情况。 -
顺便说一句,I cannot reproduce it。
-
我尝试使用 LocalDateTime 但问题仍然出现
-
我在主题中编辑代码也许有助于重现它
-
我已经尝试过您的代码,并且运行良好。你用的jdk是什么版本的?
标签: java offsetdatetime