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 :

Formater date depuis un String issue d'une jsp


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut Formater date depuis un String issue d'une jsp
    bonsoir,

    Je souhaite insérer dans ma base de données H2 console, une date de naissance !!!
    Pour cela, dans ma jsp je mets un input qui va me permettre de récupérer cette date !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Date de naissance : <input type="text" name="dateN" size="20" value="dd/mm/aaaa">
    Ensuite dans ma servlet, je fais j'utilise la fonction SimpleFormatDate pour formater mon string !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    String dateN = request.getParameter("dateN");		
    		SimpleDateFormat dateF = new SimpleDateFormat("aaaa/mm/dd");
     
    		if (dateN != null) {
     
    			try {
    				fac.addUtil(nom, prenom, dateF.parse(dateN));
    			} catch (ParseException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    Mais cela ne fonctionne pas !!!
    Il me donne l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java.text.ParseException: Unparseable date: "10/02/1989"
    J'ai vraiment fait plusieurs choses, j'ai regardé dans plusieurs forum, c'est en règle générale cette solution qui propose !!!
    Je vous remercie d'avance pour votre aide !!!

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Ton format est incorrect pour parser "10/02/1989".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SimpleDateFormat dateF = new SimpleDateFormat("aaaa/mm/dd");
    // devient
    SimpleDateFormat dateF = new SimpleDateFormat("dd/MM/yyyy");


    Voir la doc de SimpleDateFormat :
    http://docs.oracle.com/javase/7/docs...ateFormat.html

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut
    Merci d'avoir répondu à ma question !!!

    Si j'ai choisi de mettre le format "aaaa/mm/jj" c'est parce que ma base de données insère les date de type 1989/02/10 !!!
    Or, dans ma jsp je demande à ce que la date soit saisie en dd/mm/aaaa !!!

    Je ne voyais pas d'autres solutions !!!

    Voilà l'affichage obtenu en suivant vos indications :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SimpleDateFormat dateF = new SimpleDateFormat("dd/mm/yyyy");
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     affiche ma date :Tue Jan 10 00:02:00 CET 1989

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    1) un Objet de type Date n'a pas de format en java. On n'utilise SimpleDateFormat que pour convertir explicitement de et vers une String, mais c'est uniquement au moment où on appele les méthode format ou parse que cette conversion se fait, il ne faut pas oublier de conserver la String ainsi généré.

    2) le sgbd s'en fou du format, une date c'est une date, et ce n'est pas la String que tu vois qui doit etre stockée ou transmise. Utilise un PreparedStatement (cf FAQ) et utilise la méthode setDate() dessus.

  5. #5
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Citation Envoyé par informatica1989 Voir le message
    Merci d'avoir répondu à ma question !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SimpleDateFormat dateF = new SimpleDateFormat("dd/mm/yyyy");
    ton format est encore incorrect : il faut des MM majuscules pour que ce soit des "mois" sinon ce sont des minutes ...

    il te faut ce format là, comme l'avait indiqué Tchize : "dd/MM/yyyy"

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut
    Merci beaucoup pour votre aide !!!
    Il s'agissait bien d'un format incorrecte !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	SimpleDateFormat dateF = new SimpleDateFormat("dd/MM/yyyy");

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

Discussions similaires

  1. Format date lors de l'affichage d'une requête
    Par franck0805 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 22/04/2015, 12h20
  2. [XL-2003] Modifier le le format Date sur toute les lignes d'une colonne
    Par Djohn dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/08/2010, 14h00
  3. Réponses: 6
    Dernier message: 06/04/2008, 22h42
  4. Réponses: 3
    Dernier message: 19/02/2008, 14h36
  5. Convertir une date en type string
    Par ziboux dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 29/10/2003, 10h52

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