我将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解析时区或完整日期与时区?
THX 安德烈亚斯
答案 0 :(得分:1)
但字符串“.177Z”的最后一部分应该是时区值!?!?!
不,我认为.177是毫秒部分,Z是UTC偏移0(它不是真正的时区,但这是另一回事。)
我怀疑你想要:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");
(其中X
是ISO-8601时区说明符,包括UTC的Z
。)
请注意,X
仅在Java 7中引入 - 如果您使用的是Java 6或更早版本,则可能需要做更多的工作。
答案 1 :(得分:0)
您可能想要使用
javax.xml.bind.DatatypeConverter.parseTime(字符串)
因为IBM Connections API返回的原子中找到的日期符合http://www.w3.org/TR/xmlschema-2/中的定义,可以通过所述方法将其解析为Java日历对象。这也是时区说明符的原因。