我正在尝试格式化时间/日期字符串:

String date = "2011-07-27T06:41:11+00:00";
DateFormat formatter = new SimpleDateFormat("yyyy MM-dd'T'HH:mm:ssz"); //2011-07-27T06:41:11+00:00
Date Sdate = formatter.parse(date.toString());


这引发了错误

unable to parse newDate.


我不明白为什么会收到此错误,有人可以解释吗?

最佳答案

问题在于TimeZone信息。 “:”是时区字符串中的非法字符。请参见http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html#rfc822timezonehttp://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html#timezone

以下字符串是可解析的

String date = "2011-07-27T06:41:11+0000";


删除“:”,您的代码即可使用。

10-07 16:32