Valider une date - Java - Programmation
Marsh Posté le 21-09-2004 à 15:28:20
ReplyMarsh Posté le 21-09-2004 à 15:35:04
Code :
|
Marsh Posté le 21-09-2004 à 15:45:09
ReplyMarsh Posté le 21-09-2004 à 15:56:43
Non !
Code :
|
Résultat : d = 01/03/2004 !
Alors qu'avec 33/02/2004 j'ai une ParseException
Idem avec 30/09/0504 (La limite dont je parlais plus haut...)
C'est language de bourrrrrrrrrrrrrrrrrins ou faut tout faire sois-même c'est tout !
Marsh Posté le 21-09-2004 à 16:00:15
Conclusion :
public static boolean checkDate( int year, int month, int day ) |
Admirez le "month - 1" au passage
Marsh Posté le 21-09-2004 à 17:18:42
Mara's dad a écrit : Non !
|
Code :
|
Marsh Posté le 21-09-2004 à 17:24:05
suffit de fixer le lenient à false :
Code :
|
edit :
Marsh Posté le 21-09-2004 à 17:25:20
ReplyMarsh Posté le 21-09-2004 à 17:26:05
lorill a écrit : dit il en le mettant a false |
corriged
Marsh Posté le 21-09-2004 à 17:30:53
ReplyMarsh Posté le 21-09-2004 à 18:32:16
ReplyMarsh Posté le 21-09-2004 à 19:39:33
the real moins moins a écrit : ha merde, lenient |
Vu le nombre d'emmerdes que ce truc crée, j'me d'mande encore pourquoi il est à true par défaut
Marsh Posté le 21-09-2004 à 23:23:28
Ok merçi à tous, j'avais pas vu setLenient()
J'avais juste vu isLenient() dont je n'avais pas bien compris la signification...
Je suis un neuneu !
Marsh Posté le 21-09-2004 à 23:36:34
Mara's dad a écrit : |
Si tu n'arrives pas à faire ce genre de choses en java, c'est une bonne raison
( )
Marsh Posté le 21-09-2004 à 23:53:59
Bah, j'ai que 6 mois d'expérience en java.
Vu la taille de l'api, je ne suis pas étonné de n'en avoir qu'égratigné la surface.
Y'a l'age aussi Mes neurones ne sont plus aussi alertes qu'il y a 25 ans
Marsh Posté le 22-09-2004 à 00:12:06
hey papy, 'faut pas laisser trainer votre déambulateur dans le milieu du chemin ! merci.
Marsh Posté le 22-09-2004 à 10:18:08
Désolé
Marsh Posté le 21-09-2004 à 15:25:25
Java commence à me courrir sur le haricot !
Bon, soit je suis neuneu (pas impossible) soit faut faire une putain de gymnastique pour valider une date à partir d'entrées comme Année, Mois, Jour.
Précision, java 1.3...
Y'a bien la soluce de construire une chaîne genre dd/MM/yyyy avec les entrées et de parser, mais :
- parse est deprecated
- Date est vachement limité en terme de limites mini maxi, re
Bref on nous dis dans la doc qu'il faut utiliser DateFormat ou Calendar.
Ni l'un ni l'autre ne sont très clair quand à ce qui se passe si une date n'est pas valide.
Ma solution actuelle est la suivante :
Construire un GregorianCalendar avec nYear, nMonth-1 et nDay et ensuite de vérifier que get( GregorianCalendar.YEAR ) == nYear et idem pour nMonth-1 et nDay
TROP NAZE !
Pourquoi faire simple quand on peut faire la Java
Message édité par Mara's dad le 21-09-2004 à 15:26:38
---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.