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 :

Parsing de String en Date


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 57
    Points : 42
    Points
    42
    Par défaut Parsing de String en Date
    Bonjour,

    je rencontre actuellement un problème pour le parsing d'un String vers le format Date.

    Voici le string que j'ai :

    Fri Apr 22 22:16:04 CEST 2011

    je souhaite le parser en Date de format dd/MM/yyyy

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    Date date = sdf.parse(docVo.getDateDoc());
    Le problème est qu'il me ressort une exception :

    Unparseable date: "Fri Apr 22 22:16:04 CEST 2011"

    Quelqu'un sait comment résoudre ce problème?

    Merci

  2. #2
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Ben c'est normal le format de la chaine ne correspond pas au format du parse...


    a++

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 57
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Salut,


    Ben c'est normal le format de la chaine ne correspond pas au format du parse...


    a++
    Donc en gros, il faut que je parse la date vers le même format qu'en String et qu'après je le parse au format voulu?

  4. #4
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par benjibul Voir le message
    Donc en gros, il faut que je parse la date vers le même format qu'en String et qu'après je le parse au format voulu?
    Heu... Pas compris là ? Pourquoi tu voudrais parser 2 fois !?

    Tu veux faire quoi exactement ? Parser une String en Date ? Autre chose ?


    a++

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 57
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Heu... Pas compris là ? Pourquoi tu voudrais parser 2 fois !?

    Tu veux faire quoi exactement ? Parser une String en Date ? Autre chose ?


    a++
    En fait, à partir de mon String (Fri Apr 22 22:16:04 CEST 2011), je souhaites obtenir un String ou une date dd/MM/yyyy

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Donc tu veux d'abord parser, puis ensuite formater.

    "dd/MM/yyyy" est le code pour formater.

    Le parsing se ferait avec un truc genre :
    new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US);
    (pas sûr du tout sur les E et le z, mais avec un test rapide ça marche.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Ok!

    Donc déjà il faut parser ton String avec le bon format pour obtenir une Date que tu pourras manipuler plus facilement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	String str = "Fri Apr 22 22:16:04 CEST 2011";
     
    	SimpleDateFormat parser = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy", Locale.US);
    	Date date = parser.parse(str);

    Mais un objet Date n'a pas de format associé. Donc tu dois également utiliser un format pour l'afficher sous la forme que tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
    	String result = format.format(date);
     
    	System.out.println(result);

    a++


    [edit] grillé

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 57
    Points : 42
    Points
    42
    Par défaut
    C'est bon ça marche.

    Merci à tous les deux...

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

Discussions similaires

  1. Conversion string to date
    Par Fanny23 dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 27/01/2012, 01h24
  2. conversion String en Date
    Par lisa-java dans le forum Langage
    Réponses: 3
    Dernier message: 12/01/2006, 17h14
  3. [Date] Comment transformer mon String en date avec newDate?
    Par Devil666 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 10/06/2005, 17h50
  4. [Firebird] Convertir une String en date
    Par laffreuxthomas dans le forum SQL
    Réponses: 1
    Dernier message: 04/05/2005, 20h42
  5. conversion String en Date (parse trop permissif)
    Par ciloulou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/09/2004, 19h36

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