在java中转换UTC时间时无法解析的日期异常

时间:2012-08-30 10:00:03

标签: java simpledateformat

我很抱歉,如果这是一个非常愚蠢的错误,我正在做但我似乎无法看到它。我试图通过使用SimpleDateFormat以“yyyy-MM-dd'T'HH:mm:ss.SSSZ”作为格式字符串来解析2012-08-28T21:52:57.020Z时得到一个Unparsable日期异常。有人可以指出我的问题。

2 个答案:

答案 0 :(得分:6)

我不认为SimpleDataFormat会将解析后的String中的“Z”解析为时区。 :(它只是以格式作为找到时区的地方Z

尝试格式"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"或尝试更好地处理时区的JodaTime。

答案 1 :(得分:2)

最后的'Z'对应于时区。您应该将输入中的“Z”替换为IST / EST等时区ID,

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
String date = "2012-08-28T21:52:57.020IST";
System.out.println(df.parse(date));

output: Tue Aug 28 21:52:57 IST 2012