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 :

[Date] Convertir String en Date et donner un format à cette date


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2019
    Messages : 41
    Points : 52
    Points
    52
    Par défaut [Date] Convertir String en Date et donner un format à cette date
    Bonjour,
    J'essaie depuis un bon moment de convertir un String en une Date et puis de formater cette date afin d'obtenir un résultat voulu, mais rien ne fonctionne j'ai pourtant tenter pas mal de truc trouvé sur Internet et à chaque fois je me retrouve avec cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.text.ParseException: Unparseable date: "Sat Jul 20 00:00:00 CEST 2019"
    Voici ma chaîne de caractère contenant la date dans ce format :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sat Jul 20 00:00:00 CEST 2019
    et j'aimerais avoir ceci J'ai tenté ceci (trouvé sur Internet) mais rien à faire l'erreur est de retour :/
    ici ma chaîne de caractère est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SimpleDateFormat formatnow = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy", Locale.FRENCH);
    SimpleDateFormat formatneeded=new SimpleDateFormat("YYYY-MM-dd");
    Date date1 = formatnow.parse(seminaire.getDate());
    String date2 = formatneeded.format(date1);
    Merci d'avance

  2. #2
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Bonjour,

    Voici une solution possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            String time = "Sat Jul 20 00:00:00 CEST 2019";
            // Transformation de la chaîne en date selon le format
            DateTimeFormatter cestDateTimeFormatter = DateTimeFormatter
                    .ofPattern("EE MMM dd HH:mm:ss z yyyy",
                    Locale.ENGLISH);
            LocalDateTime timestamp = LocalDateTime.parse(time, cestDateTimeFormatter);
     
            // Formatage dans le nouveau format
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEEE dd MMMM YYYY", Locale.FRANCE);
            String resultat = formatter.format(timestamp);
     
            System.out.println(resultat);
    Résultat : samedi 20 juillet 2019

  3. #3
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Dans ta conversion, tu utilises une "Locale.FRENCH" pour une date commençant par "Sat Jul". ça c'est plutôt de l'anglais. Et le nombre de E ou de M dans le format correspond à des formats de différentes longueurs.
    Ici : "Sat" correspond à EE et "samedi" à EEEE.
    Le mieux pour valider un format est de créer un objet date puis de le formater en chaîne ; lorsque le résultat correspond à ce qu'on veut lire, on peut appliquer le format à la conversion inverse, de chaîne vers date.

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2019
    Messages : 41
    Points : 52
    Points
    52
    Par défaut
    Super cela fonctionne parfaitement ! un grand merci à toi

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

Discussions similaires

  1. [XI] convertir string en date
    Par campia dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 27/06/2007, 16h01
  2. convertir string en date (SimpleDateFormat)
    Par mnemonic78 dans le forum Langage
    Réponses: 5
    Dernier message: 04/01/2007, 16h41
  3. convertir string en date
    Par kam81 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 20/12/2006, 09h05
  4. convertir string en date ?
    Par jessy212 dans le forum Access
    Réponses: 5
    Dernier message: 22/08/2006, 09h26
  5. convertir string en date
    Par schwinny dans le forum Access
    Réponses: 4
    Dernier message: 21/07/2006, 09h23

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