SimpleDateFormat根据java版本的不同行为

时间:2013-05-22 08:44:07

标签: java date

在netty框架中有以下代码:

final class CookieDateFormat extends SimpleDateFormat {

    private static final long serialVersionUID = 1789486337887402640L;

    CookieDateFormat() {
        super("E, d-MMM-y HH:mm:ss z", Locale.ENGLISH);
        setTimeZone(TimeZone.getTimeZone("GMT"));
    }
}

我遇到的问题是上面的输出因运行时的jvm版本而异。

  • on java 1.6我得到:周三,22-May-13 09:11:41 GM
  • on java 1.7我得到:2013年5月22日星期三09:11:14 GMT

有没有办法改变java 1.6上的行为以匹配1.7的输出而不必更改代码(因为我不想更改netty中的代码)。

1 个答案:

答案 0 :(得分:0)

尝试使用d-MMM-yyyy代替d-MMM-y。我希望你的输入错误是以秒为单位(41 vs 14)。否则我无法解释这种差异。