使用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字符串有关。 我想我已经尝试过z
, zzz
, zZ
和zzzZ
。 有什么想法吗? 输入GMT+300
甚至是标准的有效输入格式吗?
根据Java Timezone规范 ,问题是GMT+300
不是有效的GMT字符串。
解决方案 :操作输入字符串的时区部分。 GMT+300
==> GMT+3:00