首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS") LocalDateTime.parse(yyyMMddHHmmssSSS,错误)

DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS") LocalDateTime.parse(yyyMMddHHmmssSSS,错误)
EN

Stack Overflow用户
提问于 2021-11-20 06:40:44
回答 1查看 659关注 0票数 0

为什么它不能工作?. 1)是工作的,但2)发生DateTimeParseException。

# 1

代码语言:javascript
运行
复制
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyyMMddHHmmss.SSS");
LocalDateTime dt1 = LocalDateTime.parse("20211211134321.221", formatter1);

# 2

代码语言:javascript
运行
复制
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
LocalDateTime dt = LocalDateTime.parse("20211211134321221", formatter);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-20 07:29:52

Bug,修复在Java 9+中

根据注释,这类代码似乎在Java 8的一些早期版本中成功运行,但在其他Java 8的后期版本中却失败。

显然是因为一个错误,JDK-8031085,修复了9+。

下面是我重新格式化的代码版本。

代码语言:javascript
运行
复制
DateTimeFormatter fx = DateTimeFormatter.ofPattern( "yyyyMMddHHmmss.SSS" ); 
LocalDateTime x = LocalDateTime.parse( "20211211134321.221" , fx );
System.out.println( "x = " + x ) ;

DateTimeFormatter fy = DateTimeFormatter.ofPattern( "yyyyMMddHHmmssSSS" ); 
LocalDateTime y = LocalDateTime.parse( "20211211134321221" , fy );
System.out.println( "y = " + y ) ;

在Java 12中运行时,如论IdeOne.com所示。

代码语言:javascript
运行
复制
x = 2021-12-11T13:43:21.221
y = 2021-12-11T13:43:21.221
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70043789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档