以下是引发异常的代码段:
SimpleDateformat dateFormatter = new SimpleDateFormat("yyyyMMddHHmm"); Date date = dateFormatter.parse("201710010200");
上面的代码在2:00 AM之后的所有日期均抛出异常,它一直运行到01:30 AM
已配置夏令时(我正在使用Australia/Sydney时区)。
Australia/Sydney
之后,我可能会看到3:00 AM的日志也没有记录在2:00 AM和3:00 AM之间的时间。
日志:
10月01日03:02:01错误:无法解析的日期:“ 201710010200” 引起原因:java.text.ParseException:无法解析的日期:java.text.DateFormat.parse(DateFormat.java:357)处的“ 201710010200”
10月01日03:02:01错误:无法解析的日期:“ 201710010200”
引起原因:java.text.ParseException:无法解析的日期:java.text.DateFormat.parse(DateFormat.java:357)处的“ 201710010200”
"201710010200"指定正确的日期格式后,无法解析日期字符串的问题的解决方法是什么?
"201710010200"
您正在尝试解析未发生的日期/时间。
现在我们知道这是在悉尼时区。2017年10月1日在悉尼,凌晨2时。如果您每分钟都在看时钟,则会看到:
因此,凌晨2点(含)至3点(不含)之间的任何日期/时间都根本没有在该时区中发生。我们不知道是什么产生了您要解析的值,但是:
java.time
LocalDateTime