Je n'arrive pas à comprendre le fonctionnement exact de certaines classes de Calendar. J'arrive pas à me retrouver dans la Javadoc
1) Je veux afficher le jour auquel tombe une date choisie. Par exemple
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
 Calendar cal = Calendar.getInstance();
		cal.set(2011, 3, 1);
 
		// AVEC UNE DATE SPECIFIQUE
 
		if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY)
		System.out.println("Cette date correspond à Lundi ");
		if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.TUESDAY)
		System.out.println("Cette date correspond à Mardi ");
		if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.WEDNESDAY)
		System.out.println("Cette date correspond à Mercredi ");
		if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.THURSDAY)
		System.out.println("Cette date correspond à Jeudi ");
		if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY)
		System.out.println("Cette date correspond à Vendredi ");
		if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY)
		System.out.println("Cette date correspond à Samedi ");
		if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)
		System.out.println(" Cette date correspond à Dimanche ");
Mais le problème est que ce code ne marche que pour le mois en cours, toute autre date affiche un résultat erronné.

2) Quel est le rôle de la méthode (Calendar.DAY_OF_WEEK). La valeur qu'il renvoie représente quoi exactement ? Par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Calendar c = Calendar.getInstance();
	c.set(2011, 02,16);
	System.out.println("Le jour de la semaine est : " + c.get(Calendar.DAY_OF_WEEK));
Ce qui me renvoi 4 et je ne comprend pas pourquoi.
Ou encore
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Date d1 = new Date(1000000000000L); //un milliard de millisecondes après le 1er,Jan 1970
	System.out.println("Cette date tombe le :  " + d1.toString());
	Calendar c = Calendar.getInstance();
	c.setTime(d1);
	System.out.println("Le jour de la semaine tombe le: " + c.get(Calendar.DAY_OF_WEEK));
Ici jai 1 comme deuxième résultat que je n'arrive pas à interpréter.

Merci