使用Java转换GMT格式的“2010-02-15T20:05:28.000Z”

时间:2013-09-18 00:53:24

标签: java

我有一个类似于以下“2010-02-15T20:05:28.000Z”的字符串,我需要使用Java输出GMT格式的字符串。

顺便说一句,我不知道目前的日期是什么格式。

4 个答案:

答案 0 :(得分:4)

此格式为xml-schema,您可以这样转换:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
String dateStr = "2010-02-15T20:05:28.000Z";
try {
    Date date = format.parse(dateStr);
    System.out.println(date.toGMTString());
} catch (ParseException e) {
    e.printStackTrace();
}

答案 1 :(得分:3)

您可以使用SimpleDateFormat解析任何格式的日期字符串,请参阅其parse方法的参考。

您的格式可能是"yyyy-MM-dd'T'HH:mm:ss.SSSZ",请注意您可能需要单独处理Z(时区),不确定SimpleDateFormat是否直接处理。

答案 2 :(得分:2)

日期格式为ISO-8601。 Joda图书馆在这里非常有用。查看他们的ISODateTimeFormat

请注意,时间结束时的Z表示GMT,但也可能是非GMT时区。

答案 3 :(得分:2)

这种格式通常用于XML来表示日期+时间,它实际上是ISO8601。 解析它的最简单方法是使用javax.xml.bind.DatatypeConverter:

Calendar dateTime = DatatypeConverter.parseDateTime("2010-02-15T20:05:28.000Z");