|
|
|
|
Controle du format d'une date en java
Dernière réponse le 10 mar 2008 à 21:13:19 Niels, le 7 mar 2008 à 15:58:32Bonjour,
Je réalise une application web en Java avec une base de données Mysql. Dans cette application, j'ai des pages JSP qui contiennent des formulaires. L'un des champs à remplir est une date.
Je voudrais pouvoir vérifier si l'utilisateur rentre une date du bon format (à savoir yyyy-mm-dd). Je ne sais comment faire, quelqu'un pourrait m'aider svp ?
Merci !
Niels
Configuration: Windows XP Firefox 2.0.0.12
J'ai oublié de préciser, la date je la récupère sous forme de String grâce à la formule suivante :
|
Bonjour,
String myDate = "2007-05-26";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
sdf.setLenient(true);
Date d = new Date();
try {
d = sdf.parse(myDate );
String t = sdf.format(d);
if(t.compareTo(myDate) != 0)
throw new Exception("MESSAGE ERREUR);
} catch (Exception e) {
// --- Gestion mauvaise date
}
Et pour contrôler s'il s'agit d'une date réelle, je crois que ce code fonctionne (pas certain à vérifier) :
Calendar c = Calendar.getInstance();
String myDate = "2007-95-26";
try{
c.setLenient(false);
c.set( Integer.valueOf(getFrom().substring(0,4)).intValue(),
Integer.valueOf(getFrom().substring(5,7)).intValue(),
Integer.valueOf(getFrom().substring(8,10)).intValue());
c.getTime();
}
catch(Exception iAE){
// --- Gestion de date inexistante (ou d'erreur)
}
~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~
|
Salut,
|
Donc c'est bien la bonne version que j'ai mis.
c.getTime(); De manière à ce qu'une exception soit levée si la date n'est pas bonne. C'est vrai que je n'ai pas précisé qu'il faut gérer les cas d'erreurs en catchant l'exception. ~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~ |

