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??
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??
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 :
Ca donnerait :
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"); } }
C.
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
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
Je viens de rencontrer le problème et je confirme que lerenvoie bien une exception lorsque la date n'est pas valide
Code : Sélectionner tout - Visualiser dans une fenêtre à part setLenient(false)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager