我有一个类似于以下“2010-02-15T20:05:28.000Z”的字符串,我需要使用Java输出GMT格式的字符串。
顺便说一句,我不知道目前的日期是什么格式。
答案 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");