Salut,
? // date A
?? int aaA = 2009;
?? int mmA = 1;
?? int jjA = 1;
?? // date B
?? int aaB = 2008;
?? int mmB = 12;
?? int jjB = 25;
?? // Zéro à gauche de la valeur possible < 10 du jour et du mois
?? String Snum_moisA = (mmA<10?"0":"") + mmA;
?? String Snum_moisB = (mmB<10?"0":"") + mmB;
?? String SjourA = (jjA<10?"0":"") + jjA;
?? String SjourB = (jjB<10?"0":"") + jjB;
?? // parametrage de GregorianCalendar pour la date A
?? int anneeA = aaA;
?? int num_moisA = mmA;
?? int jourA = jjA;
?? Calendar dA = new GregorianCalendar(anneeA, num_moisA - 1, jourA);
POURQUOI num_moisA - 1 ?
PARCE QUE GregorianCalendar RETOURNE UNE VALEUR 0 À 11
ET NON 1 À 12 POUR LE NUMÉRO DE MOIS. (cf Préambule -Thème 0-)
?? // parametrage de GregorianCalendar pour la date B
?? int anneeB = aaB;
?? int num_moisB = mmB;
?? int jourB = jjB;
?? Calendar dB = new GregorianCalendar(anneeB, num_moisB - 1, jourB);
POURQUOI num_moisB - 1 ?
PARCE QUE GregorianCalendar RETOURNE UNE VALEUR 0 À 11
ET NON 1 À 12 POUR LE NUMÉRO DE MOIS. (cf Préambule -Thème 0-)
?? boolean b = dA.equals(dB); // true si les dates A et B sont égales
?? boolean b1 = dA.after(dB); // true si la date A > à la date B
?? boolean b2 = dA.before(dB); // true si la date A < à la date B
?? if (b) aff1 = "la date A " + anneeA + "/" + Snum_moisA + "/" + SjourA
+ " est égale à la date B " + anneeB + "/" + Snum_moisB + "/" + SjourB;
?? if (b1) aff1 = "la date A " + anneeA + "/" + Snum_moisA + "/" + SjourA
+ " est postérieure à la date B " + anneeB + "/" + Snum_moisB + "/" + SjourB;
?? if (b2) aff1 = "la date A " + anneeA + "/" + Snum_moisA + "/" + SjourA
+ " est antérieure à la date B " + anneeB + "/" + Snum_moisB + "/" + SjourB;
Cordialement,
...\ Dan /...