2013-06-19 6 views
5

のサンプルコードは、自身のために語っています:のSimpleDateFormat矛盾解析エラー

private void parse() throws ParseException{ 
     SimpleDateFormat sdf = new SimpleDateFormat("MMM/dd/yyyy"); 

     Date started = sdf.parse("Sep/22/2004"); 
     // this triggers: java.text.ParseException: Unparseable date: "May/23/2010" 
     Date ended = sdf.parse("May/23/2010"); 
} 

より多くの私はこれに追加することができるかわかりません。 "MMM/dd/yyyy"の日付を解析しようとしていますが、矛盾した例外動作が発生します。私は何かが明らかに欠けているように感じる。

+4

ロケールとは何ですか? – Guillaume

+0

もちろん、まあまあ。 – habitats

+1

@habitatsまたは単に:DateFormat sdf =新しいSimpleDateFormat( "MMM/dd/yyyy"、Locale.ENGLISH); '一般設定を変更したくない場合。 – assylias

答えて

4

もちろん、ロケール関連です。次の行を追加します。

sdf.setDateFormatSymbols(DateFormatSymbols.getInstance(Locale.ENGLISH)); 

またはあるいは単にロケールでそれを宣言します。

SimpleDateFormat sdf = new SimpleDateFormat("MMM/dd/yyyy", Locale.ENGLISH);