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 :

Utilisation de la classe GregorianCalendar


Sujet :

Collection et Stream Java

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut Utilisation de la classe GregorianCalendar
    Bonjour,
    je voudrais savoir comment on fait pour stocket dans une chaine uis afficher la date courante au format 05/11/2006 en utilisant la classe GregorianCalendar.
    J'ai chercher sur l'api java, et sur google j'ai trouvé la classe mais pas réussi à le faire...
    Je ne sais pas quel fonction, ni comment utiliser cette classe.

    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Un mot: SimpleDateFormat, mais de toute façon le format ne doit être utilisé que pour l'affichage. Dans tout le coté logique tu dois utiliser deas objets Date, et si tu utilises un Base de données des champs de type timestamp

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut
    je veux récupérer la date d'aujourd'hui avec la classe GregorianCalendar...

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Pas besoin de GregorianCalendar pour ça (D'ailleur au lieu d'utiliser GregorianCalendar mieux vaut utiliser Calendar tout court avec Calendar.getInstance() qui te renvoie un Calendar prêt à être utilisé initialisé à la date présente).

    Pour récupèrer la date du jour c'est pas bien dur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Date d = new Date();
    Et c'est fait.

    Si ensuite tu veux formatter cette date tu utilise un SimpleDateFormat et si tu veux utiliser un Calendar:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Calendar c = Calendar.getInstance(); //il est prêt à être utilisé.

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut
    mais je souhaite récupérer la date avec la classe gregoriancalendar uniquement pas une autre!!
    c'est à but pédagogique, un exercice quoi...
    Moi aussi je sais faire comme ça!

    Merci de votre aide

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Sauf que dans les faits le getInstance te renvoie un GregorianCalendar...

    Mais bon si tu veux vraiment utiliser un GregorianCalendar

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    GregorianCalendar cal = new GregorianCalendar();
    cal.setTime(new Date.getTime());

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 120
    Par défaut
    Gregori:anCalendar héritant de Calendar, si tu sais l'utiliser, c'est les mêmes méthodes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            GregorianCalendar date = new GregorianCalendar(); 
            String strDate = date.get(GregorianCalendar.DAY_OF_MONTH)+"/" + 
                                date.get(GregorianCalendar.MONTH) + "/" + 
                                date.get(GregorianCalendar.YEAR);
            System.out.println("Date du jour : " + strDate);

  8. #8
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut
    Et après je voudrais l'afficher sous la forme Dimanche, le 5 novembre 2006
    Comment puis je faire?

    Merci de votre aide

  9. #9
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Une troisième fois SimpleDateFormat

  10. #10
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut
    je suis désolé mais je ne trouve pas où on peut mettre les noms des jours et des mois en Français...

  11. #11
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    C'est le même pattern que pour avoir les noms en anglais. C'est juste que java se sert des informations de ta machine pour savoir dans quelle langue il doit afficher la date

  12. #12
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut
    je voudrais le faire avec la classe DateFormat si possible
    Je mis ça en + :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strDate = date.SimpleDateFormat("EEE, le d MMM  yyyy");
    mais apparemment SimpleDateFormat ne s'applique pas sur objet gregoriancalendar

  13. #13
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Non il s'applique sur une Date, mais tu peux facilement obtenir une date depuis un calendar:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SimpleDateFormat sdf = new SimpleDateFormat("EEE, le d MMM yyyy");
    sdf.format(new Date(monCalendar.getTime());

  14. #14
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut
    et avec la classe DateFormat comment on peut faire?
    merci

  15. #15
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Chais pas moi, on lit la doc...

    Qui dit:

    If you want even more control over the format or parsing, (or want to give your users more control), you can try casting the DateFormat you get from the factory methods to a SimpleDateFormat. This will work for the majority of countries; just remember to put it in a try block in case you encounter an unusual one.
    Issu de la javadoc

  16. #16
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut
    Voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    		//création d'un objet GregorianCalendar (date)
    		GregorianCalendar date = new GregorianCalendar();
    		//stockage de la date dans une chaine
            String strDate = date.get(GregorianCalendar.DAY_OF_MONTH)+"/" + 
                                	date.get(GregorianCalendar.MONTH) + "/" + 
                                	date.get(GregorianCalendar.YEAR);
            System.out.println("Date du jour : " + strDate);
     
     
            DateFormat sdf = new DateFormat("EEE, le d MMM yyyy");
            sdf.format(new Date(date.getTime());
    Je rencontres plusieurs erreurs :
    - à lavant dernière ligne j'ai les 2 DateFormat souligné en rouge : Dateformat cannot be resolved to a type(pareil avec SimpleDateFOrmat)
    - à la dernière ligne, j'ai l'erreur : The constructor Date(date) is undifined.

    Merci de votre aide

  17. #17
    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,

    Citation Envoyé par franfr57
    - à lavant dernière ligne j'ai les 2 DateFormat souligné en rouge : Dateformat cannot be resolved to a type(pareil avec SimpleDateFOrmat)
    As-tu bien fais tes imports ???


    Citation Envoyé par franfr57
    - à la dernière ligne, j'ai l'erreur : The constructor Date(date) is undifined.
    La méthode getTime() de Calendar renvoi déjà un objet Date, tu n'as pas besoin d'en créer un autre...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sdf.format(date.getTime());
    a++

  18. #18
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut
    j'ai rajouter un import :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    import java.text.DateFormat;
    mais j'ai toujours une erreur sur mon second DateFormat : cannot instantiate the type DateFormat

    Merci de votre aide

  19. #19
    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
    Citation Envoyé par franfr57
    mais j'ai toujours une erreur sur mon second DateFormat : cannot instantiate the type DateFormat
    Il faut essayer de lire les messages d'erreurs : cela signifie que tu ne peux pas instancier le type DateFormat comme cela !

    il faut utiliser SimpleDateFormat comme cela a été dit plusieurs fois dans ce sujet...

    a++

  20. #20
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut
    mais mon prof voudrais que je le fasse avec DateFormat uniquement et SimbolDateFormat

    Et Sinok a dit que on pouvait c'est écrit dans lapi java non?

Discussions similaires

  1. [Servlet] Utilisation de plusieurs classes
    Par hedgehog dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 04/05/2005, 09h43
  2. Utilisation de la classe List de STL avec wxWidgets
    Par aoyou dans le forum wxWidgets
    Réponses: 7
    Dernier message: 10/03/2005, 17h41
  3. Réponses: 8
    Dernier message: 22/12/2004, 22h57
  4. [SWT] Utilisation de la classe Tracker
    Par arN34 dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 24/11/2004, 10h28
  5. Réponses: 2
    Dernier message: 18/05/2004, 14h12

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