SimpleDateFormat:具有正确模式的不可解析日期异常

时间:2013-01-20 00:13:14

标签: java date

我有简单的代码,它仍然会让我unparseable date exception。我很困惑,模式似乎是正确的。

DateFormat dffrom = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
dffrom.parse("Sun Jan 20 00:50:24 CET 2013");

我也试过这些模式:

"EEE MMM dd HH:mm:ss z yyyy"
"EEE MMM dd HH:mm:ss z YYYY"
"EEE MMM dd HH:mm:ss zzz YYYY"

2 个答案:

答案 0 :(得分:6)

您的默认Locale可能无法识别“Sun”和/或“Jan”字样。试试ENGLISH Locale

new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);

要查看默认Locale,您可以使用:

System.out.println(Locale.getDefault());

请参阅:Locale

答案 1 :(得分:1)

这取决于您的区域设置。

DateFormat dffrom = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);

会奏效。