JDK dateformatter parsing DayOfWeek in German locale, java8 vs java9

This seems to be there in due to the current implementation of CLDR date-time-patterns with the implementation of JEP – 252 which states that

Use locale data from the Unicode Consortium’s Common Locale Data
Repository (CLDR) by default.

Localized patterns for the formatting and translation of display
strings, such as the locale name, may be different in some locales.

To enable behavior compatible with JDK 8, set the system
property java.locale.providers to a value with COMPAT ahead of CLDR.


And to second the data part of it, the international components for Unicode in German locale which has the following relevant information can justify that the behavior is intentional

enter image description here

Edit/Note: As linked in the comments, the migration guide states a similar warning for such implementations –

If your application starts successfully, look carefully at your tests
and ensure that the behavior is the same as on JDK 8. For example, a
few early adopters have noticed that their dates and currencies are
formatted differently. See Use CLDR Locale Data by Default.

Leave a Comment