IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Objet Calendar avec le mois


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut Objet Calendar avec le mois
    Bonjour,

    Je ne comprends pas ce bout de code ?????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public String donnerHeure() {
    Calendar now = Calendar.getInstance();         
    int hh = now.get(Calendar.HOUR_OF_DAY);         
    int mm = now.get(Calendar.MINUTE);         
    int ss = now.get(Calendar.SECOND);         
    int mois = now.get(Calendar.MONTH) +  1;         
    int jour= now.get(Calendar.DAY_OF_MONTH);         
    int annee = now.get(Calendar.YEAR);                    
    return (jour+" / "+mois+" / " +annee+ "   "+ hh+":"+mm+":"+ss );      
    }
    Pourquoi pour le mois, il faut ajouter 1 ??? alors lorsque j'essaye un affichage j'ai plutôt -1 à faire !!!

    Pourquoi il y a ce décalage pour l'objet Calendar avec son attribut MONTH

    merci

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Salut, si tu regardes la valeur de Calendar.JANUARY, tu verras que les mois sont comptés de 0 à 11 et pas de 1 à 12

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Je rajouterais juste que pour formater une date il est préférable d'utiliser un DateFormat...

    Comment convertir une date en chaîne ?

    a++

  4. #4
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Merci, j'avais réussi à comprendre que les mois commencés à 0 mais le doute était surtout mis sur ce bout de code d'un stagiaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            Calendar calendrier = Calendar.getInstance();
            calendrier.set( calendrier.DATE, dateActuelle.getJour() );
            calendrier.set( calendrier.MONTH, dateActuelle.getMois() );
            calendrier.add( Calendar.MONTH, -1 );
            calendrier.set( calendrier.YEAR, dateActuelle.getAnnee() );
            Ddate = calendrier.getTime();
    Le calendrier.add permettait de corriger ce décalalage mais il posait aussi le pb d'un bug pour les mois terminant en 31 jours, je me pose la question si ce n'est pas le pb de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            calendrier.set( calendrier.DATE, dateActuelle.getJour() );
    qui pourrait faire un décalage de 2 mois et non de 1 mois ????

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Ok j'ai compris ...

    Ma date exemple était le 31 Octobre, si nous faisons un set du jour puis un set de mois (comme vu plus haut) alors Octobre est compris comme Novembre et comme il n'y a que 30 jours alors Calendar passe au 1er Decembre !!!
    Dans ce cas faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    calendrier.add( Calendar.MONTH, -1 );
    n'est plus valable d'ou le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            Calendar calendrier = Calendar.getInstance();
            calendrier.set( calendrier.YEAR, dateActuelle.getAnnee() );
            calendrier.set( calendrier.MONTH, dateActuelle.getMois() );
            calendrier.add( Calendar.MONTH, -1 );
            calendrier.set( calendrier.DATE, dateActuelle.getJour() );
            Ddate = calendrier.getTime();
    là c ok

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Je ne sais pas ce qu'a voulu faire ton stagiaire... mais c'est crade


    Que veux-tu faire exactement ?

    a++

  7. #7
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    adiGuba, Je voulais juste utiliser l'objet Calendar et comprendre pourquoi le champ Calendar.MONTH=0 pour le mois de Janvier !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme avec un objet Calendar
    Par ver_for dans le forum IHM
    Réponses: 0
    Dernier message: 06/06/2008, 10h31
  2. Réponses: 2
    Dernier message: 22/11/2006, 15h13
  3. Réponses: 3
    Dernier message: 19/11/2004, 21h48
  4. Objets/Classes avec un SGBD
    Par tiboleo dans le forum Décisions SGBD
    Réponses: 13
    Dernier message: 09/11/2003, 16h04
  5. Réponses: 27
    Dernier message: 03/02/2003, 12h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo