Euh... ok
La javadoc, c'est la bible du java : tout est écrit dedans.
En gros, c'est notamment écrit que pour créer une nouvelle date comme tu le demandes, il faut utiliser le constructeur :
public GregorianCalendar(int year,
int month,
int dayOfMonth)
Attention cependant, en ce qui concerne les mois, janvier équivaut à 0, février à 1, ..., décembre à 11.
Pour créer la date d'aujourd'hui par exemple, tu vas faire :
GregorianCalendar calendar = new GregorianCalendar(2009, 0, 7);
Une méthode plus propre (mais je ne pense pas qu'elle te convienne), c'est de la créer en utilisant les attributs statiques de la superclasse Calendar :
GregorianCalendar calendar = new GregorianCalendar(2009, Calendar.JANUARY, 7);
Pour comparer deux dates représentées sous cette forme, il faut, comme pour tous les objets en Java, utiliser la méthode equals() héritée de la classe Object :
GregorianCalendar date1 = new GregorianCalendar(2009, 0, 7);
GregorianCalendar date2 = new GregorianCalendar(2009, Calendar.JANUARY, 7);
GregorianCalendar date3 = new GregorianCalendar(2050, Calendar.MARCH, 31);
System.out.println(date1.equals(date2)); //affiche true
System.out.println(date1.equals(date3)); //affiche false
Pour afficher une date humainement compréhensible (pratique pour débugger), tu peux utiliser la méthode suivante :
GregorianCalendar date = new GregorianCalendar(2009, 0, 7);
System.out.println(date.getTime().toString()); //affiche Wed Jan 07 00:00:00 CET 2009
En espérant avoir été un peu plus "précis".
Cordialement,
rtfm and jfgi
Simple "merci" makes helping people happy :)