2012-12-11 31 views
0

是否有Atom日期的日期格式化工具。Atom的Java解析器和格式化器DateFormat

根據此鏈接: 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> 

我試圖用喬達ISODateTimeFormat.dateTime();,但它似乎在沒有毫秒(2003-12-13T18它不處理解析:30:02Z爲爲例)。

解析所有這些日期格式的最簡單方法是什麼?

回答

1

這是ISO 8601格式,用於例如XML的標準格式。喬達時間支持這種格式非常好,你可以通過這些字符串的DateTime構造:

DateTime timestamp = new DateTime("2003-12-13T18:30:02Z"); 

工作沒有任何問題,也如果有字符串中沒有毫秒。

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