HTTP Last-Modifiedヘッダーには、次の形式の日付が含まれます(例)。Wed, 09 Apr 2008 23:55:38 GMT
この文字列からJava.util.Dateを解析する最も簡単な方法は何ですか?
これはかなり近いはずです
String dateString = "Wed, 09 Apr 2008 23:55:38 GMT";
SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz");
Date d = format.parse(dateString);
DateUtil.parseDate(dateString)
Apache http-componentsから
(レガシー: DateUtil.parseDate(dateString)
(Apache commons-httpclientから))
定数として定義された正しい形式があり、プロトコルに準拠することが保証されています。
RFC 2616は、適合クライアントが理解しなければならない3つの異なる日付形式を定義しています。
Apache HttpClientは、標準に準拠したDateUtilを提供します。
Date date = DateUtils.parseDate( headerValue );
新しい Java Date and Time API を使用すると、コードは次のようになります。
ZonedDateTime zdt = ZonedDateTime.parse("Wed, 09 Apr 2008 23:55:38 GMT", DateTimeFormatter.RFC_1123_DATE_TIME);
DateTimeFormatter
クラスは、 RFC_1123_DATE_TIME
。名前が示すように、 RFC 112 はその形式を定義します。
URLConnection
sを使用している場合、便利なメソッドがすでにあります。
RLConnection#getLastModified を参照してください
このメソッドは、日付文字列を解析し、ミリ秒値を返します。次に、その値でDate
を作成します。