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

Java Discussion :

parse date SimpleDateFormat


Sujet :

Java

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2004
    Messages : 103
    Par défaut parse date SimpleDateFormat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private static final SimpleDateFormat SDF_Simple = new SimpleDateFormat("yyyy-MM-dd");
     try {
                    System.out.println(SDF_Simple.parse("3333-33-33"));
                } catch (ParseException ex) {
                    ex.printStackTrace();
                    JOptionPane.showMessageDialog(this, Utilities.getString("dateErrorNotValid"));
                    return;
                }

    résultat alors que normalement ca devrais me faire une erreur.
    Mon Oct 03 00:00:00 CEST 3335

    Pouvez vous m'expliquer ce comportement svp?

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par BigBarbare Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private static final SimpleDateFormat SDF_Simple = new SimpleDateFormat("yyyy-MM-dd");
     try {
                    System.out.println(SDF_Simple.parse("3333-33-33"));
                } catch (ParseException ex) {
                    ex.printStackTrace();
                    JOptionPane.showMessageDialog(this, Utilities.getString("dateErrorNotValid"));
                    return;
                }

    résultat alors que normalement ca devrais me faire une erreur.
    Mon Oct 03 00:00:00 CEST 3335

    Pouvez vous m'expliquer ce comportement svp?

    Bonjour,

    C'est tout simplement parce que le parseur de SimpleDateFormat est par défaut assez permissif et essaie donc de déduire une date valide quand c'est possible, quitte à faire certains calculs.

    Note qu'il est possible d'avoir un parseur plus strict en utilisant la méthode setLenient.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SimpleDateFormat sdfSimple = new SimpleDateFormat("yyyy-MM-dd");
    sdfSimple.setLenient(false);//rend le parseur plus strict
     try {
                    System.out.println(sdfSimple.parse("3333-33-33"));
                } catch (ParseException ex) {
                    //cet exemple devrait provoquer une exception
                    ex.printStackTrace();
                    JOptionPane.showMessageDialog(this, Utilities.getString("dateErrorNotValid"));
                    return;
                }

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2004
    Messages : 103
    Par défaut
    merci ca marche l'excepton est lancée

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

Discussions similaires

  1. Validité de dates - SimpleDateFormat
    Par pjb dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 20/04/2007, 13h39
  2. Problème format date - SimpleDateFormat inversion mois/jour
    Par juanqui dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 07/02/2007, 14h37
  3. convertir string en date (SimpleDateFormat)
    Par mnemonic78 dans le forum Langage
    Réponses: 5
    Dernier message: 04/01/2007, 16h41
  4. Problème avec SimpleDateFormat.parse(Date)
    Par nad dans le forum Langage
    Réponses: 2
    Dernier message: 09/06/2006, 13h34
  5. Votre avis : GregorianCalendar ou Date (SimpleDateFormat) ?
    Par MathiasM dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 28/09/2004, 16h43

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