SimpleDateFormat et Locale

jmg02001 Messages postés 78 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 4 octobre 2004 - 17 oct. 2003 à 10:18
cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 - 19 oct. 2003 à 00:19
Bonjour, je sais utiliser SimpleDateFormat avec 1 seul paramettre mais pas avec 1 Locale en plus et ne voi pas à quoi sa sert,
ni meme le DateFormatSymbols ,

auriez vous des exemple et sauriez vous m'aiguiller la dessus car pas tres bon en anglais.
merci d'avance.

SimpleDateFormat(String pattern, Locale loc)
Construct a SimpleDateFormat using the given pattern and locale.

public SimpleDateFormat(String pattern,DateFormatSymbols formatData)
Construct a SimpleDateFormat using the given pattern and locale-specific symbol data.

1 réponse

cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
19 oct. 2003 à 00:19
Voila un petit exemple qui montre l'interêt des Locale
elles te permettent d'écrire ta date dans la langue souhaitée ou de compiler des String qui contiennent pas exemple des noms de jours dans une langue précise

SimpleDateFormat s;
String date1, date2;
try {
s = new SimpleDateFormat("EEEE, d MMMM yyyy HH:mm:ss", Locale.FRANCE);
date1 = s.format(new Date(System.currentTimeMillis()));
s = new SimpleDateFormat("EEEE, d MMMM yyyy HH:mm:ss", Locale.ENGLISH);
date2 = s.format(new Date(System.currentTimeMillis()));

System.out.println("Date1 = "+date1);
System.out.println("Date2 = "+date2);

s = new SimpleDateFormat("EEEE, d MMMM yyyy HH:mm:ss", Locale.FRANCE);
System.out.println("Parse date1 : "+s.parse(date1));//on reparse date1 : ca marche car la date est écrite en français
System.out.println("Parse date2 : "+s.parse(date2));//ca marche pas car il connait pas les mot anglais (Locale.France)
//retourne une exception

}
catch (Exception e) {
e.printStackTrace();
}

la sortie correspondante est :
Date1 = samedi, 18 octobre 2003 23:57:23
Date2 = Saturday, 18 October 2003 23:57:23
Parse date1 : Sat Oct 18 23:57:23 CEST 2003
plus une exception à cause de la dernière ligne

evidemment, si je parse une date avec un Pattern du type "dd/mm/yyyy", on se moque de la locale utilisée mais il faut quand même en indiquer une : t'as le choix!!

voila, j'espère que c'est un peu plus clair

A+

DOBELIOU
0
Rejoignez-nous