If-Modified-Since Date Format

问题描述 投票:9回答:2

我正在编写服务器,我想检查“ 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);

我也想检查“ 2005年10月19日星期三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) {
        }

请帮助我解决以上问题,请告诉我是否应检查任何日期格式...

java date date-format
2个回答
18
投票

HTTP应用程序历来允许使用三种不同的格式来表示日期/时间戳:

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中的更多详细信息。


1
投票

由于已经有了Date对象,可以使用:

long timeInMillis = ifModifiedSince.getTime();
© www.soinside.com 2019 - 2024. All rights reserved.