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

Langage Java Discussion :

probleme avec date


Sujet :

Langage Java

  1. #1
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut probleme avec date
    Salut,

    j'ai un formulaire avec un Jlabel qui contient une date et je voudrais récupéré la date et affiché à côté le nom du jour.

    Ce que j'ai fait :
    j'ai déjà fait tout le formulaire les listener etc... donc ce coté ca fonctionne j'ai aussi lors du lancement de ma page en récupérant la date du jour j'ai réussi à afficher ma date et le nom du jour à coté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int numJour = calendar.get(Calendar.DAY_OF_WEEK);
    final JLabel lblNomJour = new JLabel(listeNomJour[numJour]);
    Ou je bloque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    			String laDate = ftfDate.getText();
    			Date uneDate = new Date();
    			try {
    				uneDate = ActionUtils.stringToDate(laDate,"dd/MM/yy");
    			} catch (Exception e) {
    				Erreurs.Warning("Date saisie invalide " + laDate);
    			}
    			System.out.println(uneDate);//Thu Feb 15 00:00:00 CET 2007
    Je récupère ma date saisie au format texte, je la formate et ca me retourne une date grace à la fonction StringToDate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static Date stringToDate(String sDate, String sFormat) throws Exception {
            SimpleDateFormat sdf = new SimpleDateFormat(sFormat);
            return sdf.parse(sDate);
        }
    Ma question est comment à partir d'une date on récupère le nom du jour, à partir d'un calendrier je sais comment faire, j'utilise le DAY_OF_WEEK mais quand j'ai une date ???? sachant que getDay() est Deprecated... je ne vois pas trop...
    Dans la doc c'est écrit " As of JDK version 1.1, replaced by Calendar.get(Calendar.DAY_OF_WEEK)" mais je vois pas comment utiliser...

  2. #2
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    En gros la methode deprecated ne te dit pas de ne pas l'utiliser mais c'est conseiller de ne plus le faire.


    Donc pour resoudre ton probleme.
    Tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Calendar c = Calendar.getInstance();
    c.setTime(TON_CHAMP_DATE);
    et le reste tu connais vu que tu l'as marqué!

  3. #3
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Salut,

    Merci pour ta réponse......

    j'ai fait ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    System.out.println("a : " +laDate);
    			Calendar c = Calendar.getInstance();
    			c.setTime(laDate);
    			System.out.println("b : " + c.DAY_OF_WEEK);
    Ca me renvoie ca :
    a : Thu Feb 15 00:00:00 CET 2007
    b : 7
    a : Fri Feb 16 00:00:00 CET 2007
    b : 7
    On remarquera que la date change puisque je l'ai modifié dans mon champ de saisie mais le DAY_OF_WEEK renvoie toujours 7??????????
    J'ai oublié de faire quelque chose???

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par grabriel
    Salut,

    Merci pour ta réponse......

    j'ai fait ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    System.out.println("a : " +laDate);
    			Calendar c = Calendar.getInstance();
    			c.setTime(laDate);
    			System.out.println("b : " + c.DAY_OF_WEEK);
    Ca me renvoie ca :


    On remarquera que la date change puisque je l'ai modifié dans mon champ de saisie mais le DAY_OF_WEEK renvoie toujours 7??????????
    J'ai oublié de faire quelque chose???
    Réponse : oui, tu as oublié quelque chose.

    Il faut que tu écrives c.get(Calendar.DAY_OF_WEEK) ou c.get(7) et non c.DAY_OF_WEEK

    c.DAY_OF_WEEK fait référence à la constante DAY_OF_WEEK de la classe Calendar (constante qui représente un int de valeur 7)
    Or, ce que tu souhaites, c'est connaitre la valeur de l'attribut de ton objet c de type Calendar qui correspond au jour de la semaine. Pour cela, tu as la méthode get(int field) de la classe Calendar qui te renvoie la valeur de l'attribut d'index "field" donc pour le jour de la semaine, l'index doit valoir 7 (qui correspond à Calendar.DAY_OF_WEEK).

  5. #5
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Normal que ça affiche toujours la même valeur, DAY_OF_WEEK est une constante.
    La constante DAY_OF_WEEK est à passer en paramètre de la méthode get de Calendar pour obtenir l'info que tu veux.

    Ainsi, pour afficher ce que tu veut il faut remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("b : " + c.DAY_OF_WEEK);
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("b : " + c.get(Calendar.DAY_OF_WEEK));
    Edit: grilled!

  6. #6
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Houla!!

    Que de réponses.......

    Merci c'est ce qu'il me fallait.

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

Discussions similaires

  1. [Dates] Probleme avec date et passage en parametre
    Par Sylvain245 dans le forum Langage
    Réponses: 3
    Dernier message: 30/01/2007, 11h19
  2. [FLASH MX] Problème avec Date
    Par oops! dans le forum Flash
    Réponses: 1
    Dernier message: 01/10/2006, 17h44
  3. re: probleme avec date()
    Par puppusse79 dans le forum Access
    Réponses: 1
    Dernier message: 24/03/2006, 16h40
  4. [C#] Requête MS Access (Problème avec Date)
    Par Erakis dans le forum ASP.NET
    Réponses: 4
    Dernier message: 16/02/2005, 22h54

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