无法解析的日期异常java



我正在获取此格式的日期"2015年5月2日星期六00:00:00 GMT+0500(巴基斯坦标准时间)"

当我使用格式解析时

SimpleDateFormat sdf = new SimpleDateFormat(EEE MMM dd yyyy HH:mm:ss zZ (zzzz))

我得到了无法解析的日期异常,这显然意味着我的格式是错误的。有人能告诉我什么是合适的格式吗。写什么"(巴基斯坦标准时间)"。

这是解析日期的一种方法:

public class Test {
    static final String sample_date = "Sat May 02 2015 00:00:00 GMT+0500 (Pakistan Standard Time)".replace("GMT", "")
            .replace(" (Pakistan Standard Time)", "");
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss Z");
        ParsePosition position = new ParsePosition(0);
        Date d = sdf.parse(sample_date, position);
        System.out.println(d);
        System.out.println(position);
        if (position.getErrorIndex() != -1) {
            System.out.println(sample_date.substring(position.getErrorIndex()));
        }
        System.out.println(sdf.parse(sample_date));
    }
}

参考:Java-不可解析的日期,需要格式匹配"GMT-0400";

最新更新