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

Arabic locale(sd-Arab) prints TimeZone name differently for COMPAT and CLDR

XMLWordPrintable

    • generic
    • generic
    • Verified

      A DESCRIPTION OF THE PROBLEM :
      Arabic locale(sd-Arab) prints TimeZone short name prints in Arabic (م ع و
      )with locale providers as CLDR, whereas in with COMPAT provider in English only(UTC). Is this change in CLDR is expected change or is it a bug?

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      2019-01-01T01:01:01.001UTC
      ACTUAL -
      2019-01-01T01:01:01.001م ع و

      ---------- BEGIN SOURCE ----------
      import java.util.Locale;

      import org.joda.time.DateTime;
      import org.joda.time.format.DateTimeFormat;

      public class TestClass {
      public static void main(String[] args) {

      System.setProperty("java.locale.providers", "SPI,CLDR");
      DateTime dateTime = DateTimeFormat.forPattern("YYYY-MM-dd'T'HH:mm:ss.SSSZ")
                  .withOffsetParsed()
                  .parseDateTime("2019-01-01T01:01:01.001+0000");
      String jodaZoneId = DateTimeFormat.forPattern("YYYY-MM-dd'T'HH:mm:ss.SSSz")
      .withLocale(Locale.forLanguageTag("sd-Arab")).print(dateTime);
              System.out.println("jodaZoneId: " + jodaZoneId);

      }
      }


      For testing with COMPAT provider, just replace first line with:
      System.setProperty("java.locale.providers", "SPI,COMPAT");

      joda time APIs are used here, so please download and keep joda-time-2.12.7.jar in the class path.

      ---------- END SOURCE ----------

      FREQUENCY : always


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

              Created:
              Updated:
              Resolved: