Merci pour toutes ces réponses :)
Je ne connais pas joda-time, je vais jetter un oeil.
Ils vont passer à la version 1.5 dans 1 an et demi.......j'ai encore le temps de galérer. :aie:
Merci de l'aide apportée :ccool:
Version imprimable
Merci pour toutes ces réponses :)
Je ne connais pas joda-time, je vais jetter un oeil.
Ils vont passer à la version 1.5 dans 1 an et demi.......j'ai encore le temps de galérer. :aie:
Merci de l'aide apportée :ccool:
suite (houlà, j'ai honte)
bon d'abord, pas de merdage bisextile, j'ai oublié le 23 février :aie:
ensuite, il semble que ton problème soit du au minimaldayinfirstweek. Par défaut il vaut 1 sur jre 1.4_19, et 4 sur jre 1.4_04, le tout pour la locale francaise. Si je suis tes messages, une semaine commence un lundi et doit compter 7 jours pour être comptée? Dans ce cas rajouter ta règle:
j'obtiens alors ceci pour toutes les version de java (plus de différence)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public static void getWeek(String dateString) { try { SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd",Locale.FRANCE); formatter.setTimeZone(TimeZone.getTimeZone("Europe/Brussels")); formatter.setLenient(false); Date d = formatter.parse(dateString); Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Europe/Brussels"),Locale.FRANCE); c.setTime(d); c.setMinimalDaysInFirstWeek(7); c.setFirstDayOfWeek(Calendar.MONDAY); System.out.println(dateString+": semaine "+c.get(Calendar.WEEK_OF_YEAR)+" jour "+c.get(Calendar.DAY_OF_WEEK)+" semaine minimale: "+c.getMinimalDaysInFirstWeek()+ " premier jour "+c.getFirstDayOfWeek()); } catch (Exception e) { } }
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 2004/01/01: semaine 52 jour 5 semaine minimale: 7 premier jour 2 2004/01/05: semaine 1 jour 2 semaine minimale: 7 premier jour 2 2004/01/12: semaine 2 jour 2 semaine minimale: 7 premier jour 2 2004/01/19: semaine 3 jour 2 semaine minimale: 7 premier jour 2 2004/01/26: semaine 4 jour 2 semaine minimale: 7 premier jour 2 2004/02/02: semaine 5 jour 2 semaine minimale: 7 premier jour 2 2004/02/09: semaine 6 jour 2 semaine minimale: 7 premier jour 2 2004/02/16: semaine 7 jour 2 semaine minimale: 7 premier jour 2 2004/02/23: semaine 8 jour 2 semaine minimale: 7 premier jour 2 2004/03/01: semaine 9 jour 2 semaine minimale: 7 premier jour 2 2004/03/08: semaine 10 jour 2 semaine minimale: 7 premier jour 2 2004/03/15: semaine 11 jour 2 semaine minimale: 7 premier jour 2 2010/01/01: semaine 52 jour 6 semaine minimale: 7 premier jour 2 2010/01/04: semaine 1 jour 2 semaine minimale: 7 premier jour 2 2010/01/11: semaine 2 jour 2 semaine minimale: 7 premier jour 2 2010/01/18: semaine 3 jour 2 semaine minimale: 7 premier jour 2 2010/01/25: semaine 4 jour 2 semaine minimale: 7 premier jour 2 2010/02/01: semaine 5 jour 2 semaine minimale: 7 premier jour 2 2010/02/08: semaine 6 jour 2 semaine minimale: 7 premier jour 2 2010/02/15: semaine 7 jour 2 semaine minimale: 7 premier jour 2 2010/02/22: semaine 8 jour 2 semaine minimale: 7 premier jour 2 2010/03/01: semaine 9 jour 2 semaine minimale: 7 premier jour 2 2010/03/08: semaine 10 jour 2 semaine minimale: 7 premier jour 2 2010/03/15: semaine 11 jour 2 semaine minimale: 7 premier jour 2
... 1 an et demi, ca nous amène en septembre 2011.
Il feraient mieux de zapper directement à la java 7.
java 1.5 est en "end of life" (c'est à dire plus de mises à jour, même pour les bugs) depuis le 3 novembre 2009. le java 1.6 sera en fin de vie (plus de mise à jour des bug même critique donc) fin 2011. Vous alleza passer à java 1.5 alors que java 6 ne sera plus supporté. Ils sont à la ramasse chez toi :) Ils aiment vivre dangereusement avec des jvm non garanties :mouarf: (sauf si ils paient en buisnesss family, là ils ont le support java 5 jusque 2014 (ouf, 3 ans de support :s)
ça sert à rien d'avoir honte tu m'as bien aidé, c'est plutot moi quand je vois l'état du système là où je suis...
Je teste tout cela lundi et te tiens au courant :)
Merci beaucoup
j'ai légèrement modifié le code que tu m'as donné :
et je récupère le bon numéro de semaine :DCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public static int getWeek(String dateString) { try { SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd",Locale.FRANCE); formatter.setTimeZone(TimeZone.getTimeZone("Europe/Brussels")); formatter.setLenient(false); Date d = formatter.parse(dateString); Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Europe/Brussels"),Locale.FRANCE); c.setTime(d); c.setMinimalDaysInFirstWeek(7); c.setFirstDayOfWeek(Calendar.MONDAY); //System.out.println(dateString+": semaine "+c.get(Calendar.WEEK_OF_YEAR)+" jour "+c.get(Calendar.DAY_OF_WEEK)+" semaine minimale: "+c.getMinimalDaysInFirstWeek()+ " premier jour "+c.getFirstDayOfWeek()); return c.get(Calendar.WEEK_OF_YEAR); } catch (Exception e) { return -1; } }
Merci beaucoup de l'aide apportée j'aurais cherché longtemps sans ce coup de pouce :ccool: