JDK-8080774 : DateFormat for Singapore/English locale (en_SG) is M/d/yy instead of d/M/yy
  • Type: Bug
  • Component: globalization
  • Affected Version: 7u51
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2015-05-20
  • Updated: 2015-09-29
  • Resolved: 2015-06-08
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 JDK 8 JDK 9
7u91Fixed 8u60Fixed 9 b69Fixed
Description
For Singapore/English locale (en_SG), the default date format shows up as 
M/d/yy instead of d/M/yy 

en_SG Locale Short date format:  5/14/15 
en_SG Locale Medium date format:  May 14, 2015 
en_SG Locale Long date format:  May 14, 2015 
en_SG Locale Full date format:  Thursday, May 14, 2015 
Comments
The latest (27.0.1) CLDR data with date formats can be found here: http://www.unicode.org/cldr/charts/27/by_type/date_&_time.generic.html
03-06-2015

The new java.locale.providers property[1] would be of use here. By default, the JDK does not use the CLDR info shipping in the JDK. There's a JEP for JDK 9 to change that : http://openjdk.java.net/jeps/252 > $ ~/jdk1.8.0_40/bin/java -Djava.locale.providers=CLDR,JRE,SPI TestLocale > shortdateformat=27/5/15 [1] http://docs.oracle.com/javase/8/docs/technotes/guides/intl/enhancements.8.html
27-05-2015