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

Servlets/JSP Java Discussion :

Pb de champs date


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut Pb de champs date
    Bonjour, j'ai un champs date de ce format :
    2006/06/31

    Comment puis-je, dans un requete, ne prendre en compte que le 06 par exemple???

    Merci

  2. #2
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2006
    Messages : 74
    Points : 90
    Points
    90
    Par défaut
    En supposant que ton champ date est stocke sous la forme d'un Objet String tu peux utiliser la methode split des string en prenant comme separateur "/" pour pouvoir recuperer le deuxieme element de ta chaine de caracteres decoupée.

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Comment ca????

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String[] itemsDate = date.split("/") ;
    String annee=itemsDate[0] ;
    String mois=itemsDate[1] ;
    String jour=itemsDate[2] ;
    Modératrice Java - Struts, Servlets/JSP, ...

  5. #5
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Ou encore tu initialise un Calendar avec ta date, et tu récupère le mois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my_calendar.get(Calendar.MONTH);
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Bah je m'explique, en faites voila, je recupere un champs date de cette forme :
    2006-06-12

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Date date = rs.getDate("date");
    Je souhaiterai donc de ce champs date, mettre dans String jour par exemple le jour de date, dans String mois, le mois de date, etc...

    J'ai essayé comme tu m'a dis en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            int jour = date.getDay();
            int mois = date.getMonth();
            int annee = date.getYear();
    car get n'existe pas en jsp.

    Mais cela me renvoi des données bizarre, enfin non correspondante, donc comment dois-je faire svp???

    Merci encore

  7. #7
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Citation Envoyé par Regis.C
    Ou encore tu initialise un Calendar avec ta date, et tu récupère le mois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my_calendar.get(Calendar.MONTH);
    Comme le dit Regis.C, il faut initialiser un Calendar avec ta date avant de faire appel à la méthode get comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Calendar calendar = new GregorianCalendar() ;
    calendar.setTime(date) ;
    int jour = calendar.get(Calendar.DAY_OF_MONTH);
    int mois = calendar.get(Calendar.MONTH)+1;
    int annee = calendar.get(Calendar.YEAR);
    Modératrice Java - Struts, Servlets/JSP, ...

  8. #8
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Citation Envoyé par c_nvy
    Comme le dit Regis.C, il faut initialiser un Calendar avec ta date avant de faire appel à la méthode get comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Calendar calendar = new GregorianCalendar() ;
    calendar.setTime(date) ;
    int jour = calendar.get(Calendar.DAY_OF_MONTH);
    int mois = calendar.get(Calendar.MONTH)+1;
    int annee = calendar.get(Calendar.YEAR);
    Comme le dit c_nvy : pas mieux!
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  9. #9
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Oki c'est bien comme sa!! merci.
    Juste un petit probleme, j'aimerai avoir le mois sous cette forme par exemple pour le mois de juin :
    06
    Alors que la il est sous la forme: 6

    Comment dois-je faire???

  10. #10
    Nouveau membre du Club
    Inscrit en
    Janvier 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 49
    Points : 28
    Points
    28
    Par défaut
    ben ... perso, je détecterai le nombre de caractères ... et si j'en ai qu'un, je rajoute un zéro devant...
    Après, peut-être qu'une fonction existe en Java toute faite, il est vrai que j'ai tendance à réfléchir en C

    A +
    Arnapou

  11. #11
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Oui mais bon si une fonction existe, pk faire compliquer quand on peux faire simple car j'avais deja penser a ton idée mais je trouvais que c'etait trop se casser la tete et mettre du code pour rien ^^

  12. #12
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Citation Envoyé par cnguyen
    Oki c'est bien comme sa!! merci.
    Juste un petit probleme, j'aimerai avoir le mois sous cette forme par exemple pour le mois de juin :
    06
    Alors que la il est sous la forme: 6

    Comment dois-je faire???
    Alors pourquoi stocker le retour dans un entier si tu souhaites 06 au lieu de 6 ?
    Autant stocker ça dans une String.
    Et quitte à stocker ça dans une String, autant transformer directement ta date en String et faire un split sur le caractère "/", non ?
    Je pense que tu te compliques la vie pour arriver à faire quelque chose de simple à mon avis...
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  13. #13
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    J'ai simplement suivi vos conseil, peut importe que se soit un String ou un integer.
    Je pensais simplement que MONTH allez me retourner 06 ^^

    Donc quel est la meiller methode et la plus simple que je dois faire???


    Et pour faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    autant transformer directement ta date en String et faire un split sur le caractère "/"
    Comment faut-il faire???

    Merci

  14. #14
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    C'est bon le probleme est reglé, merci encore a tous.

    Sinon je voudrais savoir, quel est la meilleur solution pour ca :
    Je voudrais afficher dans une liste deroulante, la liste des mois avec comme valeur 01,02,etc...
    Mais je voudrais que lorsque l'on arrive sur la page, cela m'affiche dans la liste deroulante le mois courant (qui permet d'afficher dans un tableau un liste de projet concernant le mois) puis lorsque l'on change le mois dans la liste deroulante sa m'affiche les projets concernés

    Merci encore

  15. #15
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Code écrit "en live" non-testé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd");
    Date ma_date = rs.getDate();
     
    String date_String = sdf.format(ma_date);//a voir car deprecated je crois
     
    String[] tab_Date = date_String.split("/");
     
    String year = tab_Date[0];
    String month = tab_Date[1];
    String day = tab_Date[2];
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  16. #16
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Citation Envoyé par cnguyen
    C'est bon le probleme est reglé, merci encore a tous.

    Sinon je voudrais savoir, quel est la meilleur solution pour ca :
    Je voudrais afficher dans une liste deroulante, la liste des mois avec comme valeur 01,02,etc...
    Mais je voudrais que lorsque l'on arrive sur la page, cela m'affiche dans la liste deroulante le mois courant (qui permet d'afficher dans un tableau un liste de projet concernant le mois) puis lorsque l'on change le mois dans la liste deroulante sa m'affiche les projets concernés

    Merci encore
    Pour obtenir le mois courant tu récupère une instance de GregorianCalendar, et tu récupère le mois (ton calendar est initialié avec la date système).
    Pour le reste, je ne vois rien de spécialement compliqué :
    Pour chaque projet tu as une date avec un mois, donc :
    - Soit à la sélection du mois demandé, tu récupère tes projets et tu affiches ceux qui sont du bon mois.
    - Soit dès le départ tu stock les projets par groupes identifiés par leur mois dans des listes Janvier, Fevrier, etc. et tu n'as plus qu'a afficher la liste selon le mois demandé.
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  17. #17
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Bah, je recupere l'anne et le mois actuel de cette maniere :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //pour le mois et l'année actuelle
    Date maDateAvecFormat = new Date();
     
    //mois actuel
    SimpleDateFormat moisactuel = new SimpleDateFormat("MM");
    String m = moisactuel.format(maDateAvecFormat); 
     
    //année actuelle
    SimpleDateFormat anneeactuelle = new SimpleDateFormat("yyyy");
    String a = anneeactuelle.format(maDateAvecFormat);
    A partir de cela, je fais :
    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
    <select name = "mois" ONCHANGE="document.envoi.submit();">     
     <option value="01">Janvier</option>  
     <option value="02">Février</option>   
     <option value="03">Mars</option>  
     <option value="04">Avril</option>   
     <option value="05">Mai</option>  
     <option value="06">Juin</option>   
     <option value="07" >Juillet</option>  
     <option value="08">Aout</option>   
     <option value="09">Septembre</option>  
     <option value="10">Octobre</option>   
     <option value="11">Novembre</option>  
     <option value="12">Décembre</option>
    </select>
     
    <select name = "annee" ONCHANGE="document.envoi.submit();" >
    <%      for(int i=2006 ; i<2010 ; i++ ){
    %>
            <option value='<%= i %>' <% if (String.valueOf(i).equals(annee)){ %> selected <% } %> ><%= i %></option>');
    <% }
    %>
    </select>
    Le probleme c'esst que pour les mois par exemple, sa me ramene a chaque chargement au mois de Janvier :s enfin au premier eletement de la liste deroulante...

Discussions similaires

  1. formater un champ date dans un select
    Par sbeu dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 24/04/2006, 16h44
  2. Champ Date à '01/01/0001' -> Pb conversion de variant !!!
    Par AnnSo dans le forum Bases de données
    Réponses: 6
    Dernier message: 04/06/2004, 16h54
  3. récuperer année d'un champ date
    Par tomm dans le forum Bases de données
    Réponses: 11
    Dernier message: 12/05/2004, 16h24
  4. [CR] Problème de sélection sur un champ date
    Par noluc dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 21/11/2003, 16h56
  5. procedure stockée champ date
    Par tripper.dim dans le forum SQL
    Réponses: 5
    Dernier message: 25/04/2003, 09h47

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