Java 使用SimpleDataFormat分析到目前为止具有GMT时区的字符串

Java 使用SimpleDataFormat分析到目前为止具有GMT时区的字符串,java,parsing,datetime,date,simpledateformat,Java,Parsing,Datetime,Date,Simpledateformat,从以下格式的输入字符串解析日期时遇到问题: 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); 将引发异常: java.text.ParseException: Unparseable date: "Fri Jul 15 12:0

从以下格式的输入字符串解析日期时遇到问题:

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);
将引发异常:

java.text.ParseException: Unparseable date: "Fri Jul 15 12:00:00 GMT+300 2011"
    at java.text.DateFormat.parse(DateFormat.java:337)
我打赌这和GMT字符串有关。我想我已经用
z
zzz
zZ
zzzZ
试过了。
有什么想法吗?输入的
GMT+300
甚至是标准的有效输入格式吗?

问题在于
GMT+300
不是有效的GMT字符串


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

我读了,但无法对其进行解析。从阅读文档来看,GMT+300似乎无效,但GMT+3:00将有效。有没有什么方法可以让你的输入字符串的时区部分先被操作,这样它才是真正有效的?GMT+300不是有效的格式,+0300可以处理这个问题。问题是字符串直接来自我们的UI框架的内置表单组件DateItem()。也许我会通知开发人员并等待修复。