更正字符串的日期格式

时间:2012-03-29 20:04:56

标签: java date

我在解析以下日期时收到异常:

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
    Date parsedDate=null;
    try {
        parsedDate=sdf.parse("Thu Jan 26 15:05:48 COT 2012");
    } catch (ParseException e) {
        e.printStackTrace();
    }

模式不正确吗?解析日期字符串的正确形式是什么?+

4 个答案:

答案 0 :(得分:4)

默认的SimpleDateFormat构造函数不支持所有语言环境。

您必须指定区域设置:

SimpleDateFormat sdf = new SimpleDateFormat(
            "EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
Date parsedDate = null;
try {
    parsedDate = sdf.parse("Thu Jan 26 15:05:48 COT 2012");
    System.out.println(parsedDate);
} catch (ParseException e) {
    e.printStackTrace();
}

答案 1 :(得分:2)

尝试只使用一个z

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");

答案 2 :(得分:2)

你有没有试过一个'z'而不是三个'z'?

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");

应该成为

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");

答案 3 :(得分:0)

也许你need to use CO instead of COT的时区?