DateTimeFormatter异常解析自己的打印结果
DateTimeFormatter exception parsing its own print result
我有点不明白,我有这个代码:
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
System.out.println(LocalDateTime.parse(LocalDateTime.now().format(fmt), fmt));
这会生成异常:
Exception in thread "main" java.time.format.DateTimeParseException: Text '20200605102607066' could not be parsed at index 0
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
at java.time.LocalDateTime.parse(LocalDateTime.java:492)
at Test.main(AccountPasswordHistoryTypeHandler.java:102)
但是,如果我将模式更改为在日期部分和时间部分之间使用分隔符:"yyyyMMdd_HHmmssSSS"
它会按预期工作。
为什么格式化程序无法解析自己的结果?
这是 Java8 中的错误,请检查:
JDK-8031085 : DateTimeFormatter won't parse dates with custom format "yyyyMMddHHmmssSSS"
已在新版本中修复。
我有点不明白,我有这个代码:
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
System.out.println(LocalDateTime.parse(LocalDateTime.now().format(fmt), fmt));
这会生成异常:
Exception in thread "main" java.time.format.DateTimeParseException: Text '20200605102607066' could not be parsed at index 0
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
at java.time.LocalDateTime.parse(LocalDateTime.java:492)
at Test.main(AccountPasswordHistoryTypeHandler.java:102)
但是,如果我将模式更改为在日期部分和时间部分之间使用分隔符:"yyyyMMdd_HHmmssSSS"
它会按预期工作。
为什么格式化程序无法解析自己的结果?
这是 Java8 中的错误,请检查:
JDK-8031085 : DateTimeFormatter won't parse dates with custom format "yyyyMMddHHmmssSSS"
已在新版本中修复。