我在使用格式20160327020727
解析日期yyyyMMddhhmmss
时遇到异常。请注意,lenient设置为false。
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");
df.setLenient(false);
try {
Date dt = df.parse("20160327020727");
} catch (ParseException e) {
e.printStackTrace();
}
它使用相同的格式解析其他日期,并且按预期工作。为什么会这样?
答案 0 :(得分:7)
CET夏令时改为3月的最后一个星期日,所以今天没有2AM。
你从1:59到3:00
答案 1 :(得分:2)
您收到错误,因为您的默认时区中不存在该时间。
尝试通过UTC
df.setTimeZone(TimeZone.getTimeZone("UTC"));
在3月的最后一个星期日CET
,它变为夏季 - >那天没有2AM。