1

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

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

4

4 回答 4

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();
}
于 2013-09-18T01:35:18.847 回答
3

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

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

于 2013-09-18T00:59:21.643 回答
2

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

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

于 2013-09-18T00:58:41.173 回答
2

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

Calendar dateTime = DatatypeConverter.parseDateTime("2010-02-15T20:05:28.000Z");
于 2013-09-18T01:00:41.690 回答