L'objet java.util.Calendar
C'est une classe abstraite fournie de base, dont il existe une implémentation appelée GregorianCalendar. Comme son nom l'indique il s'agit d'un objet calendrier s'appuyant sur le calendrier Grégorien.
// Récupération d'une instance de calendrier Calendar c = GregorianCalendar.getInstance(); // Calcul de la date 6 mois avant c.add(Calendar.MONTH, -6); // Récupération de la date Date sixMonthAgo = c.getTime();
Comme on peut le constater, la méthode add permet d'ajouter (ou de soustraire) un nombre entier se rapportant à un intervalle de temps (année, mois, semaine, jour, heure, minute, seconde). Il est possible de réaliser plusieurs opérations à la suite. Le calcul n'est réalisé qu'au moment où on appelle la méthode getTime().
Il est possible d'initialiser le calendrier avec une date pré-calculée.
// Récupération d'une instance de calendrier
Calendar c = GregorianCalendar.getInstance();
Date date = null;
try {
// Création d'une date arbitraire
date = new SimpleDateFormat("dd/MM/yyyy").parse("16/06/1980");
// Initialisation de la date du calendrier
c.setTime(date);
// Calcul de la date 6 mois avant
c.add(Calendar.MONTH, -6);
// Récupération de la date
date = c.getTime();
}
catch(ParseException e) {
// Erreur de format
}