HTTP Last-Modified标头包含以下格式的日期(示例):
Wed, 09 Apr 2008 23:55:38 GMT
从这个字符串中解析 java.util.Date 的最简单方法是什么?
答案 0 :(得分:69)
这应该非常接近
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);
答案 1 :(得分:62)
DateUtil.parseDate(dateString)
(遗产:DateUtil.parseDate(dateString)
(来自apache commons-httpclient))
它具有定义为常量的正确格式,保证符合协议。
答案 2 :(得分:23)
RFC 2616定义了符合条件的客户必须理解的三种不同日期格式。
Apache HttpClient提供符合标准的DateUtil:
Date date = DateUtils.parseDate( headerValue );
答案 3 :(得分:16)
使用新的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定义了这种格式。