Controle de date par java
Fermé
ala91
Messages postés
11
Date d'inscription
jeudi 23 février 2012
Statut
Membre
Dernière intervention
16 mars 2012
-
Modifié par ala91 le 7/03/2012 à 11:27
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 - 29 nov. 2012 à 23:23
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 - 29 nov. 2012 à 23:23
A voir également:
- Controle de date par java
- Iphone 14 date de sortie - Guide
- Controle parental pc - Guide
- Jeux java itel ✓ - Forum Jeux vidéo
- Java runtime - Télécharger - Langages
- Java apk - Télécharger - Langages
1 réponse
bizu53
Messages postés
1274
Date d'inscription
samedi 30 août 2008
Statut
Membre
Dernière intervention
21 juin 2015
850
Modifié par bizu53 le 29/11/2012 à 23:23
Modifié par bizu53 le 29/11/2012 à 23:23
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)