• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字列のDateFormatへのパース)

文字列のDateFormatへのパース

このQ&Aのポイント
  • 文字列のDateFormatへのパース方法を誤解している場合について解説します。
  • 特定の形式の文字列は正しくパースできるが、アルファベットの月や曜日が含まれた形式ではパースできない場合があります。
  • 基本的なデータサンプルがエラーになる場合でも、正しい結果が得られる方法をご紹介します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ロケール指定をしていないため、ロケールが日本になるからでしょう。 JavaDocに載っているサンプルは、 ---JavaDoc抜粋-------------------------- 次の例に、U.S. ロケールで日付/時刻パターン      ~~~~~~~~~~~~~ ---------------------------------------- とありますから。 ↓を試すと納得するでしょう。 Date d = new Date(); System.out.println(f.format(d));

HarukaV49
質問者

お礼

 DateFormat f = new SimpleDateFormat( "EEE, MMM d, ''yy", Locale.US ); なるほど、LocaleをUSに設定することで解決しました。 ありがとうございました。

その他の回答 (1)

  • SSMSE
  • ベストアンサー率66% (12/18)
回答No.1

Javaは素人なので、間違っていたらごめんなさい。 下段のサンプルですが・・・ フォーマットを指定するときは'(シングルクオーテーション)を2つ重ねてエスケープしているのに、日付文字列を指定するときは'(シングルクオーテーション)は1つだけになっています。 このあたりが怪しいのでは?