【问题标题】:How to parse an XML date with Zulu time in Android?如何在 Android 中使用 Zulu 时间解析 XML 日期?
【发布时间】:2012-12-01 11:05:35
【问题描述】:

如何在 Android 中解析根据 ISO 标准格式化的标准 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);

【问题讨论】:

    标签: android datetime xml-parsing iso8601


    【解决方案1】:

    参见 Android 参考: http://developer.android.com/reference/java/text/SimpleDateFormat.html

    也可以始终使用 java 正则表达式解析来获取 DTG 的组件,但如果 Android API 提供此功能,则不建议这样做。

    【讨论】:

    • 遗憾的是,Android API 不提供此功能。在日期格式字符串中,Z 不表示 ISO 8601 时区,而是 RFC 822 时区。 RFC 822 不知道 ISO 8601 使用的“Zulu”时间 = UTC 的“Z”快捷方式。ISO 8601 时区在格式化字符串中由 X 表示,但 Android 不支持。另请参阅docs.oracle.com/javase/7/docs/api/java/text/… Android 参考中给出的模式与 ISO 8601 日期格式不对应。
    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多