Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme avec la manipulation des calendar

    11 mai 2009 à 0:49:29

    Bonjour j'ai un comportement étrange avec mon calendar

    TimeZone timeZone = TimeZone.getTimeZone("France");
    		Calendar date = new GregorianCalendar(timeZone);
    		
    		date.set(2009,3, 1);
    		System.out.println(date.getTime());
    		date.set(2009,2, 1);
    


    Citation : Resultat


    Thu Apr 02 00:48:24 CEST 2009
    Sun Mar 01 23:48:24 CET 2009



    pourquoi a partir du mois d'avril le premier jour du mois est le 2?
    • Partager sur Facebook
    • Partager sur Twitter
      11 mai 2009 à 1:33:13

      Moi j'obtiens bien ceci, ça doit etre un problème avec ton systeme.
      Wed Apr 01 02:31:26 CEST 2009
      Sun Mar 01 01:31:26 CET 2009
      • Partager sur Facebook
      • Partager sur Twitter
      J'ai tous les badges d'OpenClassrooms.
        11 mai 2009 à 2:07:26

        Mon systeme est windows vista

        Du coup j'ai mis la timezone Europe/Paris mais le probleme c'est que le premier jour de la semaine est Dimanche donc comme je veux afficher mon calendrier de lundi a dimanche (Je veux faire un calendrier) je doit faire des calcul tout pouri

        En ecrivant le messge je vient d'avoir une idée
        date.setFirstDayOfWeek(Calendar.MONDAY);

        Deux heure de travail pour rien je pense
        • Partager sur Facebook
        • Partager sur Twitter
          11 mai 2009 à 3:06:43

          J'y connais rien aux objets Calendar, mais en observant le résultat d'Arnich, je suppose que date.set(2009,3, 1); met bien la date au premier avril 2009 mais en gardant l'horaire système, alors qu'ensuite un date.getTime() ajuste bêtement l'horaire de l'objet Calendar par rapport à la Locale définie.
          Et effectivement 1er avril 23h49 UTC+1h = 2 avril 0h49.

          Il n'y a pas d'erreurs, juste beaucoup de précautions à prendre avec ces objets.
          • Partager sur Facebook
          • Partager sur Twitter
            11 mai 2009 à 10:10:34

            L'explication tient la route je n'y avait pas pensé.
            • Partager sur Facebook
            • Partager sur Twitter
              11 mai 2009 à 10:30:17

              Il y a moyen de mettre GMT + 1 aussi pour le timezone ?
              Sinon chez moi ça marche, j'ai entrer ma date de naissance, en calculant l'âge il me met bien mon âge.
              Il m'affiche aussi bien la bonne date pour le début d'emprunt et la date de remise.
              J'ai été étonnée sur ce coup là que j'y suis arrivé du premier coup dans devoir rien corriger dans mon programme, vive Eclipse qui corrige les erreurs de compilations, grâce à lui j'avance vite. :D
              Le seul problème c'est la motivation de continuer...

              • Partager sur Facebook
              • Partager sur Twitter
                11 mai 2009 à 11:58:40

                pour resoudre mon problème je vais initialiser la date à 12h00 comme sa je vais pas avoir de problème.
                • Partager sur Facebook
                • Partager sur Twitter

                Probleme avec la manipulation des calendar

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown