如何转换" 2014-08-10T06:34:04-0500"到SimpleDateFormat

时间:2014-08-10 13:45:20

标签: java android simpledateformat

如何将2014-08-10T06:34:04-0500转换为SimpleDateFormat,我已尝试

new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss-SSSS"),

但它不是那样的。

编辑。如果有人遇到类似的问题,根据http://developer.android.com/reference/java/text/SimpleDateFormat.html

,这个模式 - “yyyy-MM-dd'T'HH:mm:ssZ”将适用于Android

并且可能在Java 1.7之前,以及Java 1.7 - ..,使用T.J.的答案。克劳德给了。

1 个答案:

答案 0 :(得分:2)

最后的-0500不是毫秒(S格式字符),它是当前Java版本中的ISO-8601时区指示符(X format character;请注意最近在Java 7中添加了它。 -是时区指标的一部分,而不是分隔符,因此您不希望在字符串中使用-

所以:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX")

在Java 6及更早版本中,您可能会使用Z时区格式而非X。但Java 7在三年前问世,所以...