我有一个类似于以下“2010-02-15T20:05:28.000Z”的字符串,我需要使用 Java 以 GMT 格式输出字符串。
顺便说一句,我不知道日期当前是什么格式。
这种格式是 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();
}
您可以使用 解析任何格式的日期字符串SimpleDateFormat
,请参阅其parse
方法的参考。
您的格式可能是"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
,请注意您可能希望Z
单独处理 (timezone) ,不确定是否SimpleDateFormat
直接处理。
日期格式为ISO-8601。Joda 库在这里非常有用。查看他们的ISODateTimeFormat
请注意,Z
时间末尾的 表示 GMT,但也可能是非 GMT 时区。
这是XML中常用的表示日期+时间的格式,实际上是ISO8601。解析它的最简单方法是使用 javax.xml.bind.DatatypeConverter:
Calendar dateTime = DatatypeConverter.parseDateTime("2010-02-15T20:05:28.000Z");