Bonjour,
(sujet venant de général JAVA)
Voici mon probleme, dans un chaine nous pouvons recolter des dates dans différents format. J'avais trouvé une astuce afin de pouvoir lire la date sans entrer dans des tests infâmes !
voici mon astuce :
Mais là,
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 String datePattern[] = { "yyyy-MM", "yyyy:MM", "yyyyMM" }; public void run(){ String stgDate = "2002-05"; for(int idx = 0; idx<datePattern.length; idx++){ try{ DateFormat dateFormat = new SimpleDateFormat(datePattern[idx]); System.out.println(datePattern[idx] + " = " + dateFormat.parse(stgDate)); }catch (Exception e){ System.out.println("catch for " + datePattern[idx]); } } }surprise, quand stgDate = '2002-05', le programme me sort juillet 2001 pour le pattern "YYYYMM" !!!!!
Il a interprété ma chaise comme une chaine arithmétique !!! (2002/01 - 5 = 2001/07)
Marrant mais un peu génant, comment faire pour que le SimpleDateFormat ne force pas "le calcul" de la chaine ?
Merci de votre aide.
Cordialement
Partager