带有模式 yyyyMMddhhmmss 的 SimpleDateFormat 无法解析日期“20160327020727”
SimpleDateFormat with pattern yyyyMMddhhmmss unable to parse date "20160327020727"
我在解析格式为 yyyyMMddhhmmss
的日期 20160327020727
时遇到异常。注意lenient设置为false。
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");
df.setLenient(false);
try {
Date dt = df.parse("20160327020727");
} catch (ParseException e) {
e.printStackTrace();
}
它正在解析具有相同格式的其他日期并且按预期工作。为什么会这样?
您收到错误消息,因为您的默认时区不存在该时间。
尝试通过 df.setTimeZone(TimeZone.getTimeZone("UTC"));
将时区设置为 UTC
在 CET
三月的最后一个星期日变为夏令时 -> 当天凌晨 2 点。
CET三月的最后一个星期日改为夏令时,所以这一天没有凌晨 2 点。
你从 1:59 到 3:00
改成"yyyyMMdd HHmmss"
,方便解析。
我在解析格式为 yyyyMMddhhmmss
的日期 20160327020727
时遇到异常。注意lenient设置为false。
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");
df.setLenient(false);
try {
Date dt = df.parse("20160327020727");
} catch (ParseException e) {
e.printStackTrace();
}
它正在解析具有相同格式的其他日期并且按预期工作。为什么会这样?
您收到错误消息,因为您的默认时区不存在该时间。
尝试通过 df.setTimeZone(TimeZone.getTimeZone("UTC"));
UTC
在 CET
三月的最后一个星期日变为夏令时 -> 当天凌晨 2 点。
CET三月的最后一个星期日改为夏令时,所以这一天没有凌晨 2 点。
你从 1:59 到 3:00
改成"yyyyMMdd HHmmss"
,方便解析。