2012-12-13 33 views
3

如何解析根據ISO標準格式化的Android中的標準XML日期?例如:如何在Android中用Zulu時間解析XML日期?

2012-12-13T12:34:56.678Z 

請注意如何給出時區爲「Z」(祖魯時間)。

SimpleDateFormat不能識別Z,當我嘗試使用XML包時,我得到一個異常,他們不包括在內。

DatatypeConfigurationException:提供org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl沒有找到

我缺少的東西?我假設它應該非常簡單直接地解析和格式化ISO日期。

在JavaScript中,我們可以這樣寫:

var isoDateString = new Date().toISOString(); //2012-12-13T12:34:56.678Z 
var isoDate = new Date(isoDateString); 

回答

-1

見的Android參考: http://developer.android.com/reference/java/text/SimpleDateFormat.html

人們也總是可以使用Java正則表達式解析搶DTG的組件,但不推薦如果Android API提供此功能。

+2

不幸的是,Android API不提供此功能。在日期格式字符串中,「Z」不表示ISO 8601時區,而是RFC 822時區。 RFC 822不知道ISO 8601使用的「祖魯」時間= UTC的「Z」快捷鍵。ISO 8601時區在格式化字符串中用「X」表示,但Android不支持。請參閱http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#iso8601時區 Android參考中給出的模式不符合ISO 8601日期格式。 – vsp