部分語言的月份名稱格式化中的行為變更

部分語言會區分完整日期格式的月份名稱和獨立形式的月份名稱。 在 Java 8 中,對於具有差異的那些語言,DateFormatSymbolsgetMonthNamesgetShortMonthNames 方法會傳回格式化形式的月份名稱。 在 Java 7 和更舊的版本中,這些方法會傳回獨立形式的月份名稱。

在 Java 8 中,使用 DateFormatSimpleDateFormat 類別來格式化日期時間值時,也會偏愛使用格式化的月份名稱,而不是獨立版本。 視語言和日期型樣而定,使用 format 方法可能傳回不同的月份名稱。

在 Java 7 中,只有 M 代表日期格式化型樣中的月份,例如 "yyyyy.MMMMM.dd"。 在 Java 8 中,引進 L 作為獨立形式,可用來回復為 Java 7 的行為。

    M   年中的月份(環境定義相關)
    L   年中的月份(獨立形式)

此規則會標示下列日期相關 API:

請檢閱標示的程式碼,以驗證在執行時期會顯示正確的月份名稱。 如果月份名稱現在以格式化形式出現,但必須使用獨立形式,請使用 L 而非 M 來代表月份名稱。 如果您未使用受影響的語言,或您將月份格式化為數字,您可以忽略旗標或關閉此規則。

如需相關資訊,請參閱下列類別的 Java 說明文件: