Glop,
Dans le cadre d'une application web, je collecte, entre-autre, deux dates avec heure. Afin que ces dates puissent être insérée dans une base de données, un jeu de JavaScript impose à l'utilisateur de renseigner une date et une heure sous la forme aaaa-mm-jj hh:mm:ss.
Or, avant d'insérer ces données dans la base, j'ai besoin de m'assurer qu'elles vérifient une règle d'antériorité. La date A doit être antérieure à la date B.
Voici comment je procède actuellement:
Je trouve particulièrement crados ce que j'ai fait, mais je ne vois pas trop comment procéder autrement. Des idées?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 (...) // on vérifie le bon ordonancement chronologique des dates Date A_date = new Date(); Date B_date = new Date(); Date A_time = new Date(); Date B_time = new Date(); StringTokenizer strTkn = new StringTokenizer(date_A); String A_date_str = strTkn.nextToken(); String A_time_str = strTkn.nextToken(); strTkn = new java.util.StringTokenizer(date_B); String B_date_str = strTkn.nextToken(); String B_time_str = strTkn.nextToken(); A_date = java.sql.Date.valueOf(A_date_str); B_date = java.sql.Date.valueOf(B_date_str); A_time = java.sql.Time.valueOf(A_time_str); B_time = java.sql.Time.valueOf(B_time_str); // si la date A n'est pas inférieure à la seconde prêt à la date B, on a une erreur if ( ( B_date.equals(A_date) && B_time.before(A_time ) ) || ( B_date.before(A_date) ) ){ erreurs.add("saisie",new ActionError("saisie.erreur.chronologie")); } (...)
Partager