Java 8 Java 8格式化日期时间DDMMYYYYHMMSSS,给出错误文本';05052021亿';无法在索引4处分析
我试图使用模式Java 8 Java 8格式化日期时间DDMMYYYYHMMSSS,给出错误文本';05052021亿';无法在索引4处分析,java-8,java-time,Java 8,Java Time,我试图使用模式“ddmmyyyyhmmssss”将字符串“05050210000000”解析为LocalDateTime对象,但在线程“main”java.time.format.DateTimeParseException中得到错误异常:无法在索引4处解析文本“050520210000000” 代码如下 String strDate = "05052021000000000"; DateTimeFormatter formatter = DateTimeFormatter
“ddmmyyyyhmmssss”
将字符串“05050210000000”
解析为LocalDateTime
对象,但在线程“main”java.time.format.DateTimeParseException中得到错误异常:无法在索引4处解析文本“050520210000000”
代码如下
String strDate = "05052021000000000";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("ddMMyyyyHHmmssSSS");
LocalDateTime dateTime = LocalDateTime.parse(strDate,formatter);
System.out.println(dateTime);
当我试图用模式ddMMyyyy
格式化日期0505021
时,给出了错误:线程“main”java.time.format.DateTimeParseException中的异常:无法解析文本“0505021”:无法从TemporalAccessor:{}获取LocalDateTime,ISO解析为2021-05-05类型java.time.format.parsed
如果我在日期和时间之间添加'-'
,它可以正常工作
String strDate = "05052021-000000000";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("ddMMyyyy-HHmmssSSS");
LocalDateTime dateTime = LocalDateTime.parse(strDate,formatter);
System.out.println(dateTime);
这也适用于具有任何分隔符的模式,如“dd:MM:yyyy HH:MM:ss:SSS”
,但不适用于没有任何分隔符的模式,如“ddmmyyyyhhmmssss”
我使用的是Java1.8.0_181,默认语言环境是en_US。这是Java8中的一个bug,在Java9中修复了。看看这个