Zmiana działania w formatowaniu nazw miesięcy w niektórych językach

W niektórych językach nazwy miesięcy w pełnym formacie daty różnią się od nazw miesięcy w postaci autonomicznej. W środowisku Java 8 metody getMonthNames i getShortMonthNames klasy DateFormatSymbols zwracają nazwy miesięcy w postaci sformatowanej dla tych języków, w których występują różnice. W środowisku Java 7 i wcześniejszych metody te zwracają autonomiczną postać nazw miesięcy.

W środowisku Java 8 w formatowaniu wartości daty i godziny przy użyciu klas DateFormat i SimpleDateFormat również używane są nazwy miesięcy preferowane podczas formatowania, a nie w wersji autonomicznej. W zależności od języka i wzorca daty metoda format może zwrócić różne nazwy miesięcy.

W środowisku Java 7 tylko M reprezentuje miesiąc we wzorcach formatowania daty, na przykład "yyyyy.MMMMM.dd". W środowisku Java 8 wprowadzono oznaczenie L reprezentujące postać autonomiczną, której można używać w celu przywrócenia działania ze środowiska Java 7.

    M   Miesiąc w roku (zależny od kontekstu)
    L   Miesiąc w roku (postać autonomiczna)

Ta reguła powoduje oznaczenie następujących interfejsów API związanych z datami:

Należy przejrzeć oznaczony kod i sprawdzić, czy w czasie wykonywania wyświetlana będzie poprawna nazwa miesiąca. Jeśli nazwa miesiąca jest wyświetlana w postaci formatującej w miejscach, w których należy użyć postaci autonomicznej, należy reprezentować nazwę miesiąca przy użyciu wartości L zamiast M. Jeśli w używanym języku nie występują te różnice lub miesiące są formatowane liczbowo, można zignorować oznaczenia lub wyłączyć tę regułę.

Więcej informacji na ten temat można znaleźć w opisie następujących klas w dokumentacji języka Java: