- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字列のDateFormatへのパース)
文字列のDateFormatへのパース
このQ&Aのポイント
- 文字列のDateFormatへのパース方法を誤解している場合について解説します。
- 特定の形式の文字列は正しくパースできるが、アルファベットの月や曜日が含まれた形式ではパースできない場合があります。
- 基本的なデータサンプルがエラーになる場合でも、正しい結果が得られる方法をご紹介します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ロケール指定をしていないため、ロケールが日本になるからでしょう。 JavaDocに載っているサンプルは、 ---JavaDoc抜粋-------------------------- 次の例に、U.S. ロケールで日付/時刻パターン ~~~~~~~~~~~~~ ---------------------------------------- とありますから。 ↓を試すと納得するでしょう。 Date d = new Date(); System.out.println(f.format(d));
その他の回答 (1)
- SSMSE
- ベストアンサー率66% (12/18)
回答No.1
Javaは素人なので、間違っていたらごめんなさい。 下段のサンプルですが・・・ フォーマットを指定するときは'(シングルクオーテーション)を2つ重ねてエスケープしているのに、日付文字列を指定するときは'(シングルクオーテーション)は1つだけになっています。 このあたりが怪しいのでは?
お礼
DateFormat f = new SimpleDateFormat( "EEE, MMM d, ''yy", Locale.US ); なるほど、LocaleをUSに設定することで解決しました。 ありがとうございました。