Salut salut,
Le code suivant permet de vérifier que la date qu'on parse (ici 2005) est correcte :
Code :
- try {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy" );
- sdf.setLenient(false);
- Date date = sdf.parse("2005" );
- System.out.println("false" );
- }
- catch (Exception e) {
- System.out.println("true" );
- }
|
Le problème, c'est que si on essaye de parser la date 20p05, toujours avec le même code, ça ne sort pas d'erreur, car 20 est probablement considérée comme une année correcte.
En fait je me pose ce problème, car je dois vérifier qu'une date saisie est correcte intégralement.
Genre par exemple, que 2005-04-12 soit acceptée, mais que 2005-04-04m soit rejetée. Or, pour cette dernière, la méthode parse ne bronche pas (je ne parle pas des cas trivaux qui fonctionne très bien, comme 2005/12-01, 2005-1t3-10, 2005-14-13, ...)
Est-ce un bug ? Y'a-t-il moyen de lui préciser que si y'a des caractères en fin de chaine ça plante ?
Merci de votre aide.
Message édité par SamR le 29-08-2005 à 17:06:06