Bonjour,

j'ai un problème avec un calendrier...
Je suppose que c'est un problème courant pour ceux qui utilise gregorianCalendar couramment... :s

En faite j'aimerais que la semaine commence à lundi (cfr premier jour de la semaine en Europe) mais les différents exemple que j'ai trouvé sur le net, le premier jours de la semaine est toujours dimanche... (cfr premier jour de la semaine en Amérique) :s

voilà ce que j'ai trouvé sur la truiste.com
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
public class Calendrier {
    public static void main(String[] args) {
        Locale loc_france = Locale.FRANCE;
        TimeZone zone_paris = 
                            TimeZone.getTimeZone("Europe/Paris");
        DateFormatSymbols dfs_fr = 
                            new DateFormatSymbols(Locale.FRANCE);
 
        GregorianCalendar gc = 
                            new GregorianCalendar(
                                            zone_paris, 
                                            loc_france);
        GregorianCalendar gc_ref = 
                            new GregorianCalendar(
                                            zone_paris, 
                                            loc_france);
 
        String[] mois = dfs_fr.getMonths();
        String[] jours = dfs_fr.getWeekdays();
 
        for (int i = 0; i < mois.length - 1; i++) {
            gc.set(2005, i, 1);
            gc_ref.set(2005, i + 1, 1);
 
            System.out.println(
                         mois[gc.get(Calendar.MONTH)].toUpperCase());
            for (int j = 1; j < jours.length; j++) {
                System.out.print(jours[j].toUpperCase() + " ");
            }
 
            System.out.println();
 
            int premier = gc.get(Calendar.DAY_OF_WEEK);
            if(premier > 1) {
                for (int j = 1; j < premier; j++) {
                    System.out.print("\t");
                }
            }
 
            while(gc.before(gc_ref)) {
                System.out.print(gc.get(Calendar.DAY_OF_MONTH) + "\t");
                if(gc.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY)
                    System.out.println();
                gc.add(Calendar.DAY_OF_MONTH, +1);
            }
 
            System.out.println("\n");
        }
    }
}
cela affiche tout les mois de l'année 2005 comme ceci:

JANVIER
DIMANCHE LUNDI MARDI MERCREDI JEUDI VENDREDI SAMEDI
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 29 30 31

FEVRIER
... ect
ect

DECEMBRE
...
Il y a-t-il une quelque chose en java qui permet de pallier à ce problème?
J'ai regarder la javadoc sans succès.

merci de votre aide