JDK-6598538 : Incorrect FULL DateFormat in French
  • Type: Bug
  • Component: globalization
  • Sub-Component: locale-data
  • Affected Version: 6
  • Priority: P4
  • Status: Closed
  • Resolution: Not an Issue
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2007-08-29
  • Updated: 2016-09-09
  • Resolved: 2016-09-09
Related Reports
Relates :  
Relates :  
Description
FULL PRODUCT VERSION :
1.6.0_02-b06

A DESCRIPTION OF THE PROBLEM :
The DateFormat returned by DateFormat.getInstance(DateFormat.FULL, Locale.FRENCH) is wrong.
For the first of the month, it should show "1er".

ex. : 1er janvier 2008

---------- BEGIN SOURCE ----------

import java.text.DateFormat;
import java.util.GregorianCalendar;
import java.util.Locale;
public class First {
 public static void main(String[] args) {
 DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRENCH);
 GregorianCalendar premier = new GregorianCalendar(2007,0,1);
 System.out.println(dateFormat.format(premier.getTime()));
 }
}

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

REPRODUCIBILITY :
This bug can be reproduced always.

Comments
The long DateFormat for French : d MMMM y G According to Date_Format_Patterns, use the symbol 'd' to show the minimum number of digits. It should be digit, not text. http://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns Actually the reporter were requesting an enhancement but which not comply to CLDR definition. So not an issue.
09-09-2016

EVALUATION After a discussion with I18n team incorporating such a behaviour will need a change in the dataformat classes first.
17-09-2007

EVALUATION Let me first fix it for 7. The format seems to be little complicated, required output pointing to usage of MessageFormat: choice.
29-08-2007

EVALUATION Jiri is in charge of locale element and will evaluate this bug. keyword ur6xx-l10n should be added if the release in which to fix this bug is decided.
29-08-2007