代码之家  ›  专栏  ›  技术社区  ›  levanovd

如何从HTTP上次修改的头解析日期?

  •  46
  • levanovd  · 技术社区  · 16 年前

    HTTP Last Modified标头包含以下格式的日期(示例):
    Wed, 09 Apr 2008 23:55:38 GMT
    最简单的解析方法是什么 日期类型 从这根绳子?

    5 回复  |  直到 16 年前
        1
  •  73
  •   Alexander Klimetschek    12 年前

    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);
    

    SimpleDateFormat

        2
  •  63
  •   Korhan Ozturk    12 年前

    DateUtil.parseDate(dateString) 来自ApacheHTTP组件

    (遗产: DateUtil.parseDate(dateString) (来自apache commons httpclient)

        3
  •  26
  •   Basil Bourque    9 年前

    java.time

    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 1123 定义该格式。

        4
  •  24
  •   Loda    12 年前

    RFC 2616定义了合规客户必须理解的三种不同的日期格式。

    Apache HttpClient提供符合以下标准的DateUtil:

    https://hc.apache.org/httpcomponents-client-4.3.x/httpclient/apidocs/org/apache/http/client/utils/DateUtils.html

    https://apache.googlesource.com/httpclient/+/4.3.x/httpclient/src/main/java/org/apache/http/client/utils/DateUtils.java

    Date date = DateUtils.parseDate( headerValue );

        5
  •  5
  •   Jin Kwon    14 年前

    URLConnection s、 已经有了一种简便的方法。

    看见 URLConnection#getLastModified

    此方法解析日期字符串并返回毫秒值。然后你可以愉快地创建一个 Date 有这个价值。