2013-11-27 128 views
0

爲什麼下面給出一個錯誤:解析日期的SimpleDateFormat

DateFormat formatter1 = new SimpleDateFormat("E, MMM d"); 
    formatter1.setTimeZone(TimeZone.getTimeZone("America/New_York")); 

    formatter1.parse("Tue, Nov 26"); 

我不知道爲什麼它不工作。

+1

你得到什麼錯誤?因爲對我來說很好......就像鄒鄒說的,也許是因爲你的系統區域設置? –

+0

@JonSkeet:確實是我的系統語言環境。忘了它。感謝您的時間:) –

+1

下次您提出問題時,請確保您提供了所有相關信息 - 如果您收到例外情況,請告訴我們例外情況等。 –

回答

4

您應該設置一個Locale到您的格式,其中月用英文拼寫,否則它使用默認Locale

SimpleDateFormat(String pattern) 

Constructs a SimpleDateFormat using the given pattern and the default date format symbols for the default locale.

即:

DateFormat formatter1 = new SimpleDateFormat("E, MMM d", Locale.US); 
+0

這非常快。像魅力一樣工作。我會盡可能接受。謝謝。 –

相關問題