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 :

Bizarrerie class Calendar


Sujet :

Collection et Stream Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 32
    Par défaut Bizarrerie class Calendar
    Bonsoir, je me lançait dans la classe calendar afin de bien en faire le tour et je suis tombé sur quelque chose de vraiment bizarre.....
    pour les methode get(calendar.JANUARY)
    je l'ai aie toutes faites et le compilateur me donne des infos vraiment louchent
    j'ai compiler avec le jgrasp et eclipse sous j2se 1.6

    du style pour : int moisAout=calendar.get(Calendar.AUGUST)
    j'obtiens 216
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
     
    class Temp1{
    	public static void main (String[]args){
     
    		Calendar calendar = new GregorianCalendar();
     
    		int moisJanvier=calendar.get(Calendar.JANUARY);
    		System.out.println(moisJanvier);
    		int moisFevrier=calendar.get(Calendar.FEBRUARY);
    		System.out.println(moisFevrier);
    		int moisMars=calendar.get(Calendar.MARCH);
    		System.out.println(moisMars);
    		int moisAvril=calendar.get(Calendar.APRIL);
    		System.out.println(moisAvril);
    		int moisMei=calendar.get(Calendar.MAY);
    		System.out.println(moisMei);
    		int moisJuin=calendar.get(Calendar.JUNE);
    		System.out.println(moisJuin);
    		int moisJuillet=calendar.get(Calendar.JULY);
    		System.out.println(moisJuillet);
    		int moisAout=calendar.get(Calendar.AUGUST);
    		System.out.println(moisAout);
    		int moisSeptembre=calendar.get(Calendar.SEPTEMBER);
    		System.out.println(moisSeptembre);
    		int moisOctobre=calendar.get(Calendar.OCTOBER);
    		System.out.println(moisOctobre);
    		int moisNovembre=calendar.get(Calendar.NOVEMBER);
    		System.out.println(moisNovembre);
    		int moisDecembre=calendar.get(Calendar.DECEMBER);
    		System.out.println(moisDecembre);
    		System.out.println("il pete un cable ce compilateur");
    	}
    }
    edit: pour les variable de jour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    		int lundi=calendar.get(Calendar.MONDAY);
    		System.out.println(lundi);
    		int mardi=calendar.get(Calendar.TUESDAY);
    		System.out.println(mardi);
    		int mercredi=calendar.get(Calendar.WEDNESDAY);
    		System.out.println(mercredi);
    		int jeudi=calendar.get(Calendar.THURSDAY);
    		System.out.println(jeudi);
    		int vendredi=calendar.get(Calendar.FRIDAY);
    		System.out.println(vendredi);
    		int samedi=calendar.get(Calendar.SATURDAY);
    		System.out.println(samedi);
    		int dimanche=calendar.get(Calendar.SUNDAY);
    		System.out.println(dimanche);
    et comme résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    6
    30
    4
    27
    208
    6
    2007

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Non c'est juste que tu n'utilises absolument pas les bons paramètres.

    Le variables que tu utilise là servent juste à reconnaître un résultat obtenu par get.
    Le calendar correspond à une date.

    Ensuite la méthode get sert à récupérer, en utilisant le paramètre adéquat,
    L'année de la date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    calendar.get(Calendar.YEAR);
    le mois de la date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    calendar.get(Calendar.MONTH);
    le jour de la date dans l'annee
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    calendar.get(Calendar.DAY_OF_YEAR);
    Le jour du mois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    calendar.get(Calendar.DAY_OF_MONTH);
    et ainsi de suite...
    .

    Puis si tu veux faire des manipulations il faut utiliser les méthodes set et add...

    Enfin bon le plus simple est d'aller lire la javadoc, il est indiqué pour chaque variable statique si elle peut servir aux méthodes get et set

    http://java.sun.com/javase/6/docs/api/java/util/Calendar.html#get(int)

    Les variables que tu utilisais permettent simplement de comparer la valeur de retour d'un get.

  3. #3
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Ah là là, sans les enums, les gens écrivent n'importe quoi

    Vive les enums

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 32
    Par défaut
    ouai ouai oki
    je comprends
    les autres paramètres je les connaissai les MONTH etc..
    en tout cas j'aurai encore appris quelque chose
    merci

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


    L'API de la classe Calendar n'est pas des plus évidente ni des plus simple, et encore moins des plus logique (par exemple : JANUARY==0 ).

    Java 7 devait améliorer cela en intégrant une vrai API bien plus complète (avec des notions de durées et d'intervalles), ceci via la JSR 310 : Date and Time API

    a++

    PS : Penses au bouton

  6. #6
    Membre éclairé Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Par défaut
    Salut à tous;
    Pour ma part, j'ai refusé d'utiliser les classes Date et Calendar intégrées dans le jdk et ce par leur incomplétude et leur non-sens...
    Je me suis donc très vite tourné vers une API se nommant jodaTime et disponible a l'adresse http://joda-time.sourceforge.net/
    Cette API est vraiment plus claire et précise en terme d'intervalles et durées.
    Bon courage...

Discussions similaires

  1. Décalage d'un mois dans la classe Calendar
    Par arnaud036 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 21/09/2007, 10h07
  2. Est-ce moi ou il ya un gros bug dans la classe Calendar ?
    Par lafouine46 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/05/2007, 21h31
  3. Problème avec la classe Calendar
    Par afrikha dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 30/03/2006, 08h48
  4. Interface implémentant la classe Calendar
    Par JeanECN dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 29/03/2006, 17h37
  5. probleme avec la classe calendar
    Par fatmax dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 04/10/2005, 17h04

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