HTTP Last-Modified头部包含日期,格式如下(示例):
Wed, 09 Apr 2008 23:55:38 GMT
从这个字符串中解析出java.util.Date的最简单方法是什么?
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))
此方法定义了一个常量格式,保证符合协议要求。
org.apache.http.client.utils.DateUtils
和 httpclient-4.3.3
。 - membersound使用新的Java日期和时间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 定义了这种格式。
URLConnection
,那么已经有一个方便的方法。Date
。Date.parse
方法,至少在 Oracle JDK 7 中是如此,该方法“似乎”支持所有三种 HTTP 1.1 Full Date 格式。 - Trevor Robinson
parse
时对其进行同步(它们不是线程安全的)。 - Ry4an Brasenew SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US)
。 - Roman