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 :

[debutant] verifier validité date


Sujet :

Collection et Stream Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 51
    Points : 31
    Points
    31
    Par défaut [debutant] verifier validité date
    j'ai des dates en string sous la forme 24/03/2005 et j'aimerai verifier si elle est valdie (pas de mois > 12 ....)
    dois je verifier chaque partie du string?ou alors convertir en date et lancer un parseur qui trouvera une exception??

  2. #2
    Membre du Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Points : 43
    Points
    43
    Par défaut
    Salut,
    je ne compterais pas sur une exception levée dans un cas du type 30/02/2001 ou meme 20/56/1971. La convertion avec un SimpleDateFormat marcheras.
    Il faudra donc parser la date , puis la recreer avec le meme format pour valider qu'elle est bonne :
    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
        public static void main(String [] args) {
     
            SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
            String s = args[0];
            Date d = new Date();
            try {
                d = sdf.parse(s);
                String t = sdf.format(d);
                if(t.compareTo(s) !=  0)
                    System.out.println("Non valide");
                else
                    System.out.println("valide");
            } catch (Exception e) {
                    System.out.println("Exception");
            }
        }
    Ca donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@tmp]# java test 01/01/1971
    valide
    [root@tmp]# java test 31/02/1971
    Non valide
    [root@tmp]# java test 20/56/1971
    Non valide
    [root@tmp]# java test 29/02/2003
    Non valide
    [root@tmp]# java test 29/02/2000
    valide
    C.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 81
    Points : 84
    Points
    84
    Par défaut
    il me semble que si tu fais : setLenient(false); avant de parser ta date, tu auras une exception si la date n'est pas valide.

    Arnaud

  4. #4
    nad
    nad est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 38
    Points : 35
    Points
    35
    Par défaut
    Je viens de rencontrer le problème et je confirme que le renvoie bien une exception lorsque la date n'est pas valide

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

Discussions similaires

  1. [debutant] verifier validite d'une adr email
    Par warubi dans le forum VB.NET
    Réponses: 4
    Dernier message: 30/04/2007, 12h09
  2. [Dates] Verifier une date
    Par Seth77 dans le forum Langage
    Réponses: 4
    Dernier message: 13/03/2006, 12h17
  3. [Debutant]Requête et Date
    Par ghan77 dans le forum Bases de données
    Réponses: 5
    Dernier message: 07/01/2006, 21h35
  4. [DEBUTANT]Comparaison sur date et heure
    Par tripper.dim dans le forum Oracle
    Réponses: 15
    Dernier message: 15/11/2005, 18h25
  5. [Debutant] Format des dates ?
    Par Invité dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/09/2005, 14h55

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