Как разобрать дату из заголовка HTTP Last-Modified? - PullRequest
49 голосов
/ 18 декабря 2009

Заголовок HTTP Last-Modified содержит дату в следующем формате (пример):
Wed, 09 Apr 2008 23:55:38 GMT
Какой самый простой способ разобрать java.util.Date из этой строки?

Ответы [ 5 ]

70 голосов
/ 18 декабря 2009

Это должно быть довольно близко

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

62 голосов
/ 18 декабря 2009

DateUtil.parseDate(dateString) от http-компонентов apache

(устаревшее: DateUtil.parseDate(dateString) (от apache commons-httpclient))

Он имеет правильный формат, определенный как Константа, который гарантированно соответствует протоколу.

23 голосов
/ 09 января 2010

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

16 голосов
/ 05 декабря 2016

java.time

При использовании нового API даты и времени Java код будет просто:

ZonedDateTime zdt = ZonedDateTime.parse("Wed, 09 Apr 2008 23:55:38 GMT", DateTimeFormatter.RFC_1123_DATE_TIME);

Класс DateTimeFormatter предварительно определяет константу для этого конкретного формата в RFC_1123_DATE_TIME. Как следует из названия, RFC 1123 определяет этот формат.

5 голосов
/ 10 сентября 2012

Если вы используете URLConnection s, уже есть удобный метод.

См URLConnection # getLastModified

Этот метод анализирует строку даты и возвращает значение в миллисекундах. Тогда вы можете счастливо создать Date с этим значением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...