2013-01-20 93 views
0

我有簡單的代碼,它仍然會引發我unparseable date exception。我很困惑,模式似乎是正確的。SimpleDateFormat:具有正確模式的可解析日期異常

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" 
+0

我發現有類似問題的線程,我試着接受代碼,它也拋出我的看法。這沒有意義:( – misco

+0

我在荷蘭試過它,在這裏它需要是「Zo Jan 20 00:50:24 CET 2013」​​ – flup

回答

6

您的默認Locale可能無法識別單詞 「太陽」 和/或 「月」。試着用ENGLISHLocale

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

要查看默認Locale你可以使用:

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

參見:Locale

+0

yees,我很笨,我絕對忘了它。是區域設置可選的PARAM? – misco

+0

它是可選的,允許您指定非默認的區域設置,就像在這種情況下, – Reimeus

+0

好了,我怎麼能找回我的默認語言環境?當我使用新的Date(),它返回我的日期按上述格式。 – misco

1

這取決於您的語言環境。

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

將工作。

相關問題