簡體   English   中英

SimpleDateFormat的不同行為取決於Java版本

[英]SimpleDateFormat different behaviour depending on java version

在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的版本而有所不同。

  • 在Java 1.6上我得到:星期三,13年5月22日09:11:41 GM
  • 在Java 1.7上我得到:2013年5月22日星期三,格林尼治標准時間

有什么方法可以更改java 1.6上的行為以匹配1.7的輸出而不必更改代碼(因為我寧願不必更改netty中的代碼)。

嘗試使用d-MMM-yyyy而不是d-MMM-y 我希望您輸入錯誤的時間以秒為單位(41 vs 14)。 否則,我無法解釋這種差異。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM