0

我从 SBT SDK 获取时间值作为这种格式的字符串

"2013-07-17T14:44:25.177Z"

我用这段代码得到了一个 Java Date 对象

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date date = dateFormat.parse("2013-07-17T14:44:25.177Z");

但是字符串“.177Z”的最后一部分应该是时区值!?!?!

有没有人知道如何用 Java 中的时区解析时区或完整日期?

谢谢安德烈亚斯

4

2 回答 2

1

但是字符串“.177Z”的最后一部分应该是时区值!?!?!

不,我认为 .177 是毫秒部分,Z 是 0 的 UTC 偏移量。(这不是真正的时区,但那是另一回事。)

我怀疑你想要:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");

X( ISO-8601 时区说明符在哪里,包括ZUTC。)

请注意,这X仅在 Java 7 中引入 - 如果您使用的是 Java 6 或更早版本,您可能需要做更多的工作。

于 2013-07-26T12:42:05.023 回答
0

您可能想使用

javax.xml.bind.DatatypeConverter.parseTime(String)

因为在 IBM Connections API 返回的原子中找到的日期符合http://www.w3.org/TR/xmlschema-2/的定义,可以通过所述方法将其解析为 Java 日历对象。这也说明了时区说明符。

于 2013-10-11T12:41:42.343 回答