2014-02-09T00:00:00 + 05:30我的日期以这个字符串格式出现。我可以转换成java.util.date对象

时间:2014-09-16 06:17:32

标签: java date

我收到的格式为“2014-02-09T00:00:00 + 05:30”,然后如何转换为java.util.date对象。

final String ISO_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS zzz";
dateInString="2014-02-09T00:00:00+05:30";       
final SimpleDateFormat sdf = new SimpleDateFormat(ISO_FORMAT);
final TimeZone utc =TimeZone.getTimeZone("GMT");
Date date = formatter.parse(dateInString);
System.out.println(date);

我试过这种方式。它给出了java.text.ParseException:

2 个答案:

答案 0 :(得分:1)

尝试使用此格式"yyyy-MM-dd'T'HH:mm:ssXXX"以获取更多信息Class SimpleDateFormat

答案 1 :(得分:0)

您的格式错误,我认为您正在寻找yyyy-MM-dd'T'HH:mm:ssXXXS用于毫秒级,你不需要这个。

请注意,XXX适用于Java 7(请参阅文档:http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html),它是ISO 8601时区格式。

使用Java 6,您只能使用ZZZ,但它不匹配+05:30,因为ZZZ符合RFC 822时区格式

如果您使用的是Java 6,请参阅以下答案:https://stackoverflow.com/a/2202300/1140748