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: