Unparseable date String dateを渡すときの例外

HTTP応答ヘッダーのLast-Modified値を取得していて、Stringの日付値をDateオブジェクトに変換しようとしています:

  ..

  URLConnection urlConnection = url.openConnection();
  Map> headers = urlConnection.getHeaderFields();
  Date date = new SimpleDateFormat("MMMM d, yyyy",   Locale.ENGLISH).parse(headers.get(LAST_MODIFIED).get(0));

これは例外をスローしています:

java.text.ParseException:解析できない日付: "Thu、27 Oct 2011 13:09:24   GMT "at java.text.DateFormat.parse(DateFormat.java:337)

誰かがこれで問題を見つけることができますか?ありがとう。

EDITED.

0
追加された 著者 Bitmap,

4 答え

に適切なパターンを指定する必要があります> SimpleDateFormat をクリックします。

E :曜日(週単位)
   d :月の曜日    M :年間月間
   y :年
   H :1時間(0〜23日)
   m :1時間単位で
   s :分で2番目
   z :タイムゾーン

String dateString = "Thu, 27 Oct 2011 13:09:24 GMT";
SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz");
Date d = format.parse(dateString);

この重複した質問を見てみましょう: HTTP Last-Modifiedヘッダーから日付を解析する方法

Apache commons-httpclient では、 DateUtil.parseDate ) は既にBohzo リンクされた質問への彼のソリューションで指摘

urlConnection.getLastModified()を使用して、その長さを日付またはカレンダーに変換するだけです。

2
追加された

Date ヘッダの値を取得するために urlConnection.getDate()を使用してはいけませんか? CONTENT_TYPE ヘッダーフィールドを取得しているようです。

1
追加された
javadocは次のように言っています:日付ヘッダーフィールドの値を返します。、LastModifiedヘッダーと同じではありません。
追加された 著者 Mark Rotteveel,
編集を参照してください。 urlConnection.getDate()は現在の日付を返します。
追加された 著者 Bitmap,

指定した日付形式が、解析する文字列の日付形式と一致しません。
試してください:

EEE, dd MMM, yyyy
0
追加された