SimpleDateFormatクラスparseメソッドのLocaleに注意
SimpleDateFormatクラスのJavaDocに以下の例が書いてあります。
次の例に、U.S. ロケールで日付/時刻パターンがどのように解釈されるかを示します。指定された日付と時刻は U.S. Pacific Time タイムゾーンのローカルタイム 2001 年 7 月 4 日 12 時 8 分 56 秒です。"EEE, MMM d, ''yy" → Wed, Jul 4, '01
これを見たので自分のプログラム内で"2008 Sep 1 12:34:56"をparseしようと以下のようにnewしましたがParseExceptionが出てしまいます。
SimpleDateFromat format = new SimpleDateFormat("yyyy MMM d HH:mm:ss")
かなり悩みました・・・・色々調べた結果、これで無事parseすることができました。
SimpleDateFromat format = new SimpleDateFormat("yyyy MMM d HH:mm:ss" , Locale.US)
確かにSepって英語ですね・・・。Locale.JAPANESE(デフォルト)だったからだめだったってことのようです。
ちなみに"2008 9月 1 12:34:56"はparseできるみたい。
ここまで作りこんでるJavaってある意味すごいですね。