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

Long-form date format incorrect month string for Finnish locale

XMLWordPrintable

    • b55
    • x86
    • os_x
    • Verified

        FULL PRODUCT VERSION :
        java version "1.8.0_40"
        Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
        Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)


        ADDITIONAL OS VERSION INFORMATION :
        OSX Yosemite 10.10.2

        A DESCRIPTION OF THE PROBLEM :
        The output of DateFormat is incorrect in the long form for Finnish, in that it adds an extra 'ta' to the end of the month name.

        java8 output:
        6. maaliskuutata 2015

        java7 output:
        6. maaliskuuta 2015

        According to wiki language rules for finland, month should end in 'ta': http://en.wikipedia.org/wiki/Date_and_time_notation_in_Finland

        "In Finnish a period is placed after the day to indicate an ordinal: “31. toukokuuta 2002”; furthermore, the month is in the partitive case, always marked by -ta."


        REGRESSION. Last worked in version 7u71

        ADDITIONAL REGRESSION INFORMATION:
        java version "1.7.0_71"
        Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
        Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)


        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
        Code to reproduce:

        package sandbox;

        import java.text.DateFormat;
        import java.util.Date;
        import java.util.Locale;

        public class FormatDateFi {

          public static void main(String[] args) {
            System.out.println(
                DateFormat.getDateInstance(DateFormat.LONG,
                    Locale.forLanguageTag("fi")).format(new Date()));
          }
          
        }


        EXPECTED VERSUS ACTUAL BEHAVIOR :
        EXPECTED -
        6. maaliskuuta 2015

        ACTUAL -
        6. maaliskuutata 2015


        REPRODUCIBILITY :
        This bug can be reproduced always.

        ---------- BEGIN SOURCE ----------
        package sandbox;

        import java.text.DateFormat;
        import java.util.Date;
        import java.util.Locale;

        public class FormatDateFi {

          public static void main(String[] args) {
            System.out.println(
                DateFormat.getDateInstance(DateFormat.LONG,
                    Locale.forLanguageTag("fi")).format(new Date()));
          }
          
        }

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

              okutsu Masayoshi Okutsu
              webbuggrp Webbug Group
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: