Controle de date par java
ala91
Messages postés
22
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j'ai fait un programme et dans ce programme je doit
1- vérifier est ce que les caracteres saisis par les uilisateur dans un textfield1 sans des date (c'est a dire ils ont la forme de date , si les caractères saisis dans ce textfield1 sont parexemple (20/20/1980) le champ mois est faut donc y'auras un message d'erreur ).
j'utilise NetBeans.
j'aimerais avoir une réponse
et merci ..
j'ai fait un programme et dans ce programme je doit
1- vérifier est ce que les caracteres saisis par les uilisateur dans un textfield1 sans des date (c'est a dire ils ont la forme de date , si les caractères saisis dans ce textfield1 sont parexemple (20/20/1980) le champ mois est faut donc y'auras un message d'erreur ).
j'utilise NetBeans.
j'aimerais avoir une réponse
et merci ..
A voir également:
- Controle de date par java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
1 réponse
En utilisant un objet DateFormat tu peux vérifier par toi-même la valeur. (Je ne sais plus bien si on peut mettre un format directement sur le JTextField pour qu'il le vérifie tout seul par lui-même.)
(Je déterre, ça peut toujours servir)
public static void main(final String[] args) {
final DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
{
final String text = "20/10/1980";
try {
final Date date = df.parse(text); // ok
System.out.println(date);
} catch (final ParseException e) {
System.out.println("Date refusée : " + text);
}
}
{
final String text = "20-10-1980";
try {
final Date date = df.parse(text); // ne respecte pas le format => ParseException
System.out.println(date);
System.out.println(df.format(date));
} catch (final ParseException e) {
System.out.println("Date refusée : " + text);
}
}
{
final String text = "20/20/1980";
try {
// respecte le format mais à refuser
// la méthode parse retourne une date calculée qui est, selon SimpleDateFormat, équivalente (par exemple 32/13/1980 => 01/02/1981)
final Date date = df.parse(text);
final String s = df.format(date);
if (s.equals(text)) { // (il doit y avoir un moyen plus "propre" que de reformater la date en String mais je ne connais pas et n'ai pas cherché)
System.out.println(date);
} else {
System.out.println(s);
System.out.println("Date refusée : " + text);
}
} catch (final ParseException e) {
System.out.println("Date refusée : " + text);
}
}
}
(Je déterre, ça peut toujours servir)