Calendrier Java GregorianCalendar
Bonjour, j'ai besoin d'un petit conseil.
En fait quand j'execute ce code :
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 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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| /*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication16;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
/**
*
* @author NiKo
*/
public class TriSemaine {
public static void main(String[] args) {
GregorianCalendar d = new GregorianCalendar();
d.setFirstDayOfWeek(4);
d.set(Calendar.DAY_OF_MONTH, 1);
int anneeMax = 2010;
for (int k = d.get(Calendar.YEAR); k <= anneeMax; k++) {
System.out.println("\n");
System.out.println("####### CALENDRIER " + k + " ########");
d.set(Calendar.YEAR, k);
int jourDeWeekEnd = d.get(Calendar.DAY_OF_WEEK);
for (int j = d.get(Calendar.MONTH); j <= Calendar.DECEMBER; j++) {
int mois = j;
d.set(Calendar.MONTH, j);
DateFormat month = new SimpleDateFormat("MMMMMMMMM");
System.out.println("\t\n");
System.out.println("Année : " + d.get(Calendar.YEAR));
System.out.println("Mois de : " + month.format(d.getTime()));
System.out.println("Lun Mar Mer Jeu Ven Sam Dim");
for (int i = Calendar.MONDAY; i < jourDeWeekEnd; i++) {
System.out.print(" ");
}
while (d.get(Calendar.MONTH) == mois) {
int jour = d.get(Calendar.DAY_OF_MONTH);
if (jour < 10) {
System.out.print(" ");
}
System.out.print(jour);
System.out.print(" ");
//chaque samedi il y a un retour � la ligne
if (jourDeWeekEnd == Calendar.SUNDAY) {
System.out.println("Semaine : " + d.get(d.WEEK_OF_YEAR));
System.out.println();
}
//permet de changer de jour tous les jours
d.add(Calendar.DAY_OF_MONTH, 1);
//remet � jour les jours de semaine � chaque changement de jour
jourDeWeekEnd = d.get(Calendar.DAY_OF_WEEK);
}
}
d.add(Calendar.YEAR, 1);
}
}
} |
J'obtiens :
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 25 26 27 28
| Année : 2009
Mois de : décembre
Lun Mar Mer Jeu Ven Sam Dim
1 2 3 4 5 6 Semaine : 49
7 8 9 10 11 12 13 Semaine : 50
14 15 16 17 18 19 20 Semaine : 51
21 22 23 24 25 26 27 Semaine : 52
28 29 30 31
####### CALENDRIER 2010 ########
Année : 2010
Mois de : janvier
Lun Mar Mer Jeu Ven Sam Dim
1 2 3 Semaine : 1
4 5 6 7 8 9 10 Semaine : 2
11 12 13 14 15 16 17 Semaine : 3
18 19 20 21 22 23 24 Semaine : 4
25 26 27 28 29 30 31 Semaine : 5 |
Alors que en Janvier 2010 la semaine 1 Commence au 4 Janvier...
Comment puis je remédier à ça?
Cordialement.