Les dates (suite)

Nous allons poursuivre notre étude de la gestion des dates en Java en examinant de nouveaux objets.

L'objet java.text.SimpleDateFormat


Cet objet permet deux choses : d'une part afficher un objet Date sous une forme texte en utilisant un formatage personnalisé, d'autre part de parser une date au format texte pour la convertir en objet Date.

// Affichage d'une date au format jj/mm/aaaa
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
Date date = new Date();
System.out.println(format.format(date));

Comme on peut le voir, il est possible de modifier le format d'affichage. L'intégralité des codes de formatage est disponible sur les JavaDocs de la classe SimpleDateFormat.


La conversion inverse (date sous forme de texte vers un objet Date) se réalise toujours avec l'objet SimpleDateFormat.

// Conversion d'une date texte en objet
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
Date date = null;
try {
  date = format.parse("01/10/2009");
}
catch(ParseException e) {
  // Erreur de format
}

Comme pour toutes les opérations de parsing en Java, une exception peut se produire qu'il est nécessaire de traiter.

Il est à noter que certains codes de formatage produisent des noms de jours ou de mois. Cette conversion est sensible à la Locale courante, ainsi on aura bien en français lundi, mardi etc. alors qu'on aura monday, tuesday etc. en anglais.