小编Ber*_*ard的帖子

没有分隔符,java.time.DateTimeFormatter无法解析

java.time.LocalDateTime success = java.time.LocalDateTime.parse("20 01 2014 15 36 21 234",java.time.format.DateTimeFormatter.ofPattern("dd MM yyyy HH mm ss SSS"));             
java.time.LocalDateTime fails   = java.time.LocalDateTime.parse("20012014153621234",java.time.format.DateTimeFormatter.ofPattern("ddMMyyyyHHmmssSSS"));
Run Code Online (Sandbox Code Playgroud)

参考:http : //docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

问题:格式化程序/解析器似乎无法区分固定项和可变项。例如。用作“ dd”的d =“ day-of-month”可以是一两位数字(例如8或18)。因此,解析器在尝试解析下一个“项目”时不使用“固定”长度。但是“项目”没有分开并且解析失败。

我对吗?有解决办法吗?

编辑:有趣的是,这工作:

java.time.LocalDate date1   = java.time.LocalDate.parse("20140120", java.time.format.DateTimeFormatter.ofPattern("yyyyMMdd"));
java.time.LocalTime time1   = java.time.LocalTime.parse("153621234", java.time.format.DateTimeFormatter.ofPattern("HHmmssSSS"));
Run Code Online (Sandbox Code Playgroud)

但是为什么不选择日期和时间呢?

java parsing formatter datetime-format java-8

5
推荐指数
0
解决办法
1678
查看次数

标签 统计

datetime-format ×1

formatter ×1

java ×1

java-8 ×1

parsing ×1