LocalDateTime.parse(yyyMMddHHmmssSSS, DateTimeFormatter.ofPattern( "yyyyMMddHHmmssSSS" ) error



为什么它不起作用。。。1( 是有效的,但2(发生DateTimeParseException。

#1

DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyyMMddHHmmss.SSS");
LocalDateTime dt1 = LocalDateTime.parse("20211211134321.221", formatter1);

#2

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
LocalDateTime dt = LocalDateTime.parse("20211211134321221", formatter);

错误,在Java 9中修复+

根据评论,这样的代码似乎在一些早期版本的Java 8中运行成功,但在其他后期版本的Java中失败了。

显然是由于Java 9+中修复了一个错误JDK-8031085。


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

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.所示

x = 2021-12-11T13:43:21.221
y = 2021-12-11T13:43:21.221

相关内容

  • 没有找到相关文章

最新更新