cs_valx
Messages postés3Date d'inscriptionjeudi 27 février 2003StatutMembreDernière intervention30 novembre 2005
-
30 nov. 2005 à 10:02
cs_valx
Messages postés3Date d'inscriptionjeudi 27 février 2003StatutMembreDernière intervention30 novembre 2005
-
30 nov. 2005 à 13:07
Bonjour,
J'avoue que j'y comprend pas tout :
J'ai une date :
Calendar d = new GregorianCalendar();
Je positionne Le mois sur Février :
d.set(Calendar.MONTH, 1);
Je l'affiche :
out.println("
Mois : "+d.get(Calendar.MONTH));
et devinez quoi il m'affiche 2 !!!!!!
J'ai testé les autres mois :
for(int i = 0;i<12;i++)
{
d.set(Calendar.MONTH, i);
out.println("
Mois : "+d.get(Calendar.MONTH));
}
Résultat :
i : 0 Mois : 0
i : 1 Mois : 2
i : 2 Mois : 2
i : 3 Mois : 3
i : 4 Mois : 4
i : 5 Mois : 5
i : 6 Mois : 6
i : 7 Mois : 7
i : 8 Mois : 8
i : 9 Mois : 9
i : 10 Mois : 10
i : 11 Mois : 11
C'est un bug de Calendar.set ou quoi ??
Merci pour vos lumières éventuelles...
cs_ducheseb
Messages postés344Date d'inscriptionmardi 18 mai 2004StatutMembreDernière intervention23 juin 20069 30 nov. 2005 à 10:56
Ce n'est pas un bug, c'est normal. Nous sommes le 30 donc si tu affectes le mois à Février, il ne trouve pas de 30 Février donc il fait la différence entre le nombre de jours du mois et la date indiquée. 30 Février = 2 Mars.
Il faut donc positionner aussi le jour par exemple au 1er et tu n'auras aucun pb.
"A game is a series of interesting choices." Sid Meier
cs_valx
Messages postés3Date d'inscriptionjeudi 27 février 2003StatutMembreDernière intervention30 novembre 2005 30 nov. 2005 à 10:24
J'ai réussi à trouver une parade, je teste le mois auquel je veux fixer ma date et s'il est égal à 1 j'enleve 1 (pas très clair tout ça!!)
Ex :
d.set(Calendar.MONTH, mois);
if(mois==1){d.add(Calendar.MONTH,-1);}
Et là j'ai mon mois de février.
Par contre je sais toujours pas si c'est un bug .......