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

时间:2011-07-15 09:41:31

标签: 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:00:00 GMT+300 2011"
    at java.text.DateFormat.parse(DateFormat.java:337)

我敢打赌它与GMT字符串有关。我想我已经使用zzzzzZzzzZ进行了尝试。 有什么想法吗?输入GMT+300是否是标准的有效输入格式?

1 个答案:

答案 0 :(得分:3)

根据Java Timezone specification,问题是GMT+300无效GMT字符串。

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