使用SimpleDateFormat将带有GMT时区的字符串解析为Date

我在输入字符串解析日期时遇到问题,该输入字符串格式如下:

String input = "Fri Jul 15 12:00:00 GMT+300 2011"; String dateFormat = "EEE MMM d HH:mm:ss z yyyy"; Date date = new SimpleDateFormat(dateFormat).parse(input); 

抛出exception:

 java.text.ParseException: Unparseable date: "Fri Jul 15 12:00:00 GMT+300 2011" at java.text.DateFormat.parse(DateFormat.java:337) 

我打赌它与GMT字符串有关。 我想我已经尝试过zzzzzZzzzZ 。 有什么想法吗? 输入GMT+300甚至是标准的有效输入格式吗?

根据Java Timezone规范 ,问题是GMT+300不是有效的GMT字符串。

解决方案 :操作输入字符串的时区部分。 GMT+300 ==> GMT+3:00