11

サーバーを作成していて、「If-Modified-Since:」ヘッダーを確認したいと考えています。
日付のメソッドはたくさんあるので、通常のメソッドと同じように、どのメソッドをチェックするか検討します (ブラウザではミリ秒が使用されます)。

以下は、ミリ秒形式で行った方法です。

  Date date;

 //dateS is a substring of If-Modified-Since: header
 try{
  long mills = Long.parseLong(dateS);
  } catch (NumberFormatException e)
   {e.printStackTrace();
  }
  date = new Date(mills);

また、「Wed, 19 Oct 2005 10:50:00 GMT」の形式も確認したいと思います。その日付をミリ秒に変更するにはどうすればよいですか?

     SimpleDateFormat dateFormat = new SimpleDateFormat(
                "EEE, dd MMM yyyy HH:mm:ss z");

        // to check if-modified-since time is in the above format
        try {

            ifModifiedSince = dateFormat.parse(date);
            ?????????????????????
        } catch (ParseException e1) {
        }

上記の変更を手伝ってください。確認すべき日付形式があれば教えてください…</p>

4

2 に答える 2

18

HTTP アプリケーションは歴史的に、日付/時刻スタンプの表現に 3 つの異なる形式を許可してきました。

Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format

詳細については、HTTP/1.1 RFC 2616を参照してください。

于 2012-11-27T22:11:10.227 に答える
1

既にDateオブジェクトを持っているので、次を使用できます。

long timeInMillis = ifModifiedSince.getTime();
于 2012-11-27T21:57:41.923 に答える