我收到的格式为“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:
答案 0 :(得分:1)
尝试使用此格式"yyyy-MM-dd'T'HH:mm:ssXXX"
以获取更多信息Class SimpleDateFormat
答案 1 :(得分:0)
您的格式错误,我认为您正在寻找yyyy-MM-dd'T'HH:mm:ssXXX
。
S
用于毫秒级,你不需要这个。
请注意,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