【发布时间】:2020-06-05 16:42:21
【问题描述】:
我不明白的东西,我有这个代码:
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" 它会按预期工作。
为什么格式化程序不能解析自己的结果?
【问题讨论】:
-
对我来说很好用,你用的是什么java版本?
-
还要检查ideone demo
-
我使用的是 jdk 1.8u251
-
@Sweeper 抱歉,我没看到这篇文章。
标签: java datetime dateformatter