Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8317447

Regression in WeekFields mapping to locale

XMLWordPrintable

    • generic
    • generic
    • Verified

      A DESCRIPTION OF THE PROBLEM :
      In version 8, using Locale("cs") - Czech language, seemed to imply also Czech country locale settings. Which is expected, because there is 1:1 correspondence between these. So Locale("cs") should default to Locale("cs", "CZ").

      This is no longer the case as of Java 11. It seems that new Locale("cs") provides default, not Czech locale. At least as far as WeekFields (or the old Calendar API) is concerned.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Extract first day of week from old or new time API using Locale("cs").

      java.time.temporal.WeekFields.of(new Locale("cs"))
      java.util.Calendar.getInstance(new Locale("cs")).getFirstDayOfWeek()

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      WeekFields[MONDAY,4]
      2

      (Java 8)
      ACTUAL -
      WeekFields[SUNDAY,1]
      1

      (Java 11)

      CUSTOMER SUBMITTED WORKAROUND :
      You need to provide full locale, such as

      java.time.temporal.WeekFields.of(new Locale("cs", "CZ"))
      java.util.Calendar.getInstance(new Locale("cs", "CZ")).getFirstDayOfWeek()

      FREQUENCY : always


            naoto Naoto Sato
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: