Trouver le jour de la semaine avec une date donnée
Un livre de Wikibooks.
Cette page donne deux méthodes de calcul pour savoir le jour de la semaine pour une date donnée dans le calendrier Grégorien. Le calendrier Grégorien adopté au XVIe siècle siècle succède au calendrier Julien, en modifiant la règle pour déterminer quelle année est bissextile.
La date d'adoption du calendrier varie selon le pays. Ces méthodes de calcul sont valables pour les dates à partir du 1er novembre 1582.
[modifier] Méthode 1
En Italique, calcul du jour de la semaine de l'exemple 1er août 1947.
- On garde les deux derniers chiffres de l'année en question; (1947 => 47)
- On ajoute 1/4 de ce chiffre en ignorant les restes; (47/4 = 11, reste 3 ignoré)
- On ajoute la journée du mois; (dans ce cas => 1)
- Selon le mois on ajoute : (Août => 3)
- Janvier = 1
- Février = 4
- Mars = 4
- Avril = 0
- Mai = 2
- Juin = 5
- Juillet = 0
- Août = 3
- Septembre = 6
- Octobre = 1
- Novembre = 4
- Décembre = 6
- Si l'année est bissextile et le mois est janvier ou février, on ôte 1 , (1947 =>année non bissextile)
- Selon le siècle, on ajoute : (19** => 0)
- Années 1700 = 4;
- Années 1800 = 2;
- Années 1900 = 0;
- Années 2000 = 6;
- On divise la somme par 7 et on garde le reste; (47 + 11 + 1 + 3 - 0 + 0 = 62; 62 divisé par 7 = 8, reste 6)
- Le reste représente le jour de la semaine recherché: (Le 1er août 1947 était un vendredi)
- 1 pour Dimanche,
- 2 pour Lundi,
- 3 pour Mardi,
- 4 pour Mercredi,
- 5 pour Jeudi,
- 6 pour Vendredi,
- 0 pour Samedi,
[modifier] Méthode 2
Cette méthode de calcul utilise la table suivante :
| Valeur | Année | Mois (a) | Mois (b) | Jour | Jour de la semaine | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |||||||||||
| 0 | 000 | 00 | 1 | 7 | 18 | 5 | 10 | 7 | 14 | 21 | 28 | Lundi | ||||||
| 1 | + 300 | 40 | 2 | * 8 | 13 | 19 | 8 | 5 | 1 | 8 | 15 | 22 | 29 | Mardi | ||||
| 2 | 80 | 3 | 14 | 2 | 3 | 11 | 2 | 8 | 2 | 9 | 16 | 23 | 30 | Mercredi | ||||
| 3 | + 200 | * 4 | 9 | 15 | 6 | 3 | 11 | 3 | 10 | 17 | 24 | 31 | Jeudi | |||||
| 4 | 20 | 10 | * 16 | 9 | 12 | 6 | 4 | 11 | 18 | 25 | Vendredi | |||||||
| 5 | + 100 | 60 | * 0 | 5 | 11 | 4 | 7 | 9 | 12 | 5 | 12 | 19 | 26 | Samedi | ||||
| 6 | 6 | * 12 | 17 | 1 | 10 | 1 | 4 | 7 | 6 | 13 | 20 | 27 | Dimanche | |||||
[modifier] Utilisation
Une valeur de 0 à 6 (Colonne 1 : valeur) est attribuée à chaque ligne de la table. Dans cette méthode, on calcule la somme des valeurs des lignes sélectionnées à chacune des étapes suivantes (ex: 15/12/1957) :
- (Colonne 2) Prendre la valeur de la ligne correspondant au siècle modulo 4 (000, 100, 200 ou 300) (ex: 1957 -> 300, V = 1),
- (Colonne 3) Ajouter la valeur de la ligne correspondant à la vingtaine de l'année (ex: 1957 -> 40, V + 1 = 2),
- (Colonne 4) Ajouter la valeur de la ligne correspondant au reste de la division de l'année par 20 (ex: 1957 -> 17, V + 6 = 8),
- Si l'année se termine par 00 et s'il y a un "+" dans la cellule sélectionnée à l'étape 1, ajouter 1 et utiliser la colonne 5 pour le mois (ex: 1957 pas concerné),
- Sinon, s'il y a un "*" dans la cellule sélectionnée à l'étape 3, utiliser la colonne 6 pour le mois, sinon la colonne 5 (ex: 1957 pas de "*", colonne 5),
- (Colonne 5 ou 6) Ajouter la valeur de la ligne correspondant au numéro du mois (ex: 12, V + 4 = 12),
- (Colonne 7) Ajouter la valeur de la ligne correspondant au jour dans le mois (ex: 15, V + 1 = 13),
- (Colonne 7) Le jour de la semaine (colonne 8) correspond à la ligne ou se trouve le total dans la colonne 7 (ex: 13, Dimanche 15/12/1957).