Discussions
Categories
- 197K All Categories
- 2.5K Data
- 546 Big Data Appliance
- 1.9K Data Science
- 450.8K Databases
- 221.9K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 552 MySQL Community Space
- 479 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3.1K ORDS, SODA & JSON in the Database
- 556 SQLcl
- 4K SQL Developer Data Modeler
- 187.2K SQL & PL/SQL
- 21.4K SQL Developer
- 296.3K Development
- 17 Developer Projects
- 139 Programming Languages
- 293K Development Tools
- 110 DevOps
- 3.1K QA/Testing
- 646.1K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 158 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.2K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 19 Java Essentials
- 162 Java 8 Questions
- 86K Java Programming
- 81 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 205 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 468 LiveLabs
- 39 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 175 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 233 Portuguese
Hungarian date format changed

Hungarian date format has been changed in jdk-9+181.
The short format was (in Java8) "yyyy.MM.dd." e.g. "2017.08.18.".
In Java9 it is "y. MM. dd." e.g. "2017. 08. 18." (extra space after the dots).
I do not know why. It causes compatibility problems.
Answers
-
I tried with JDK 9-ea+181 on Windows 7 and don't see any extra space after the dots while using SHORT date format for the locale ("hr", "HR"). Following is the output I got - 22.08.2017.
Can you please specify the exact locale that you used ?
-
Linux (SLES11)
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
Date today = new Date();
SimpleDateFormat format = (SimpleDateFormat) DateFormat.getDateInstance(DateFormat.SHORT, new Locale("hu","HU"));
System.out.println(format.toPattern());
System.out.println(format.format(today));
y. MM. dd.
2017. 08. 22.
-
With JDK 9, the default locale data provider is changed to CLDR. Refer : JDK-8043554. As per the CLDR , the date format for Hungarian Locale is "GGGGG y. M. d." , hence the change. If you require the same format as in JDK 8 when the default locale data provider was JRE, you can use the option : -D
java.locale.providers=JRE
-
Thank you, it does work.
However I do not understand why the default behaviour has been changed.