是否有Atom日期的日期格式设置工具。
根据此链接: http://tools.ietf.org/html/rfc4287
Such date values happen to be compatible with the following
specifications: [ISO.8601.1988], [W3C.NOTE-datetime-19980827], and
[W3C.REC-xmlschema-2-20041028].
Example Date constructs:
<updated>2003-12-13T18:30:02Z</updated>
<updated>2003-12-13T18:30:02.25Z</updated>
<updated>2003-12-13T18:30:02+01:00</updated>
<updated>2003-12-13T18:30:02.25+01:00</updated>
我尝试使用Joda ISODateTimeFormat.dateTime();
,但似乎在没有毫秒的情况下它不会处理解析(例如2003-12-13T18:30:02Z)。
解析所有这些日期格式的最简单方法是什么?
答案 0 :(得分:1)
似乎是xml dateTime。然后最好的选择是javax.xml.datatype.XMLGregorianCalendar。
DatatypeFactory f = DatatypeFactory.newInstance();
XMLGregorianCalendar xgc = f.newXMLGregorianCalendar("2003-12-13T18:30:02.25Z");
System.out.println(xgc);
System.out.println(xgc.toGregorianCalendar().getTime());
输出
2003-12-13T18:30:02.25Z
Sat Dec 13 20:30:02 EET 2003
在API
中查看更多内容答案 1 :(得分:1)
这是ISO 8601格式,例如XML中使用的标准格式。 Joda Time非常支持这种格式,您可以将这些字符串传递给DateTime
的构造函数:
DateTime timestamp = new DateTime("2003-12-13T18:30:02Z");
如果字符串中没有毫秒,也可以正常工作。
答案 2 :(得分:0)
DateUtils
有一个parseDate method that supports multiple patterns。这可能对你有用。 (模式必须根据SimpleDateFormat
语法格式化)