[Java] GregorianCalendar

xav3601 Messages postés 3390 Statut Membre -  
 Utilisateur anonyme -
Bonjour,

J'ai un petit soucis avec l'utilisation du calendar en java...

En fait je voudrais que le premier jour de la semaine soit le lundi.
Et donc que par la suite quand je récupére le jour de la semaine, si je suis un lundi je récupère 1.

Voilà mon code:

Calendar ldDatePassage = new GregorianCalendar();
ldDatePassage.setFirstDayOfWeek(Calendar.MONDAY);
ldDatePassage.setTime(loTempDatePsgTrp.getDatePsgTrp());

Mais si par exemple loTempDatePsgTrp.getDatePsgTrp()); est le 14/03/2010 (donc dimanche prochain) quand je fais ensuite:

ldDatePassage.get(Calendar.DAY_OF_WEEK)

Je récupère 1 alors que je voudrais récupèrer 7!!

Vous voyez ou sa cloche?

Merci d'avance!

A voir également:

2 réponses

Utilisateur anonyme
 
Salut,

tu peux peut-être t'inspirer de ce code:

        	
      //date initiale:
         int jj = 12;
         int mm = 3;	
         int an = 2010;
      	
         GregorianCalendar cal = new GregorianCalendar(an, mm -1 ,jj);
       // obtention des composants de la date :
         int annee = cal.get(Calendar.YEAR);
         int mois = cal.get(Calendar.MONTH);
         int jour = cal.get(Calendar.DAY_OF_MONTH);
         int num_jour = cal.get(Calendar.DAY_OF_WEEK);
         
         System.out.println("\n\nJours de la semaine:\n"
            + "dim. = 1, lun. = 2, mar. = 3, mer. = 4, jeu. = 5, ven. = 6, sam. = 7");
         
         System.out.println("\n\nDate: " + jour + "/" + (mois +1) + "/" + annee);
         System.out.println("Jour de la semaine: " + num_jour);
         
         if(num_jour != 2) // si ce n'est pas un lundi
         {
            cal = new GregorianCalendar(an, mois ,jj + ((7 -num_jour) +2));
            annee = cal.get(Calendar.YEAR);
            mois = cal.get(Calendar.MONTH);
            jour = cal.get(Calendar.DAY_OF_MONTH);
            num_jour = cal.get(Calendar.DAY_OF_WEEK);
            System.out.println("\n\nDate: " + jour + "/" + (mois +1) + "/" + annee);
         }
         System.out.println("Jour de la semaine: " + num_jour);


Cordialement,

Dan
1
xav3601 Messages postés 3390 Statut Membre 311
 
Je vais essayer de contourner le problème mais c pas gagné ^^

Edit: voila la formule a utiliser:

ldDatePassage.get(Calendar.DAY_OF_WEEK)+5)%7
0