PROJET AUTOBLOG


le hollandais volant

Site original : le hollandais volant

⇐ retour index

[Geek] Calculer le jour de la semaine pour n’importe quel date, de tête

samedi 23 mai 2015 à 17:09
calendrier Même si aujourd’hui on a tous un téléphone avec un calendrier pour les trois mille prochaines années, on peut toujours se la jouer et calculer de tête quel jour sera n’importe une date donnée.

La formule est assez simple mais demande de savoir faire quelques petits calculs de tête, comme 3+3+5 ou 10+1+3. Ça reste simple.

Il faut aussi connaître l’opérateur « modulo ». Le modulo (noté « % »), c’est juste le reste de la division euclidienne (apprise en sixième). Ainsi, 10%7 (lire « 10 modulo 7 ») c’est 10−7 c’est à dire 3. Plus compliqué, 22%7 c’est 22−7−7−7 c’est à dire 1. En fait, on prend le nombre (22) et on lui retire le multiple de 7 directement inférieur à lui (ici, c’est 21).
Ici on n’aura besoin que du module 7, mais cet opérateur peut être utilisé avec tous les nombres (par exemple 238%42=28)


La formule pour la date après l’an 2000, c’est ça :

[ (Jour à calculer)%7 + (Code de l’année)%7 + Code du mois ]%7 = Jour de la semaine.


Où :


Janvier :6 (5 si l’année est bissextile)
Février :2 (1 si l’année est bissextile)
Mars :2
Avril :5
Mai :0
Juin :3
Juillet :5
Août :1
Septembre :4
Octobre :6
Novembre :2
Décembre :4
<style>#month-table {border: 1ps solid black; padding: 0 3px; margin: 0 auto;} #month-table td { padding: 0 0 0 10px; border: none; text-align:right} #month-table td+td { text-align:left}

Pour avoir la date, il suffit de faire la somme.

Ainsi, pour Noël 2015 on calcule :


Ça y est : Noël 2015 tombera un donc le cinquième jour de la semaine, c’est à dire un vendredi.


Une autre date ? Prenons au hasard : 19 avril 2022.


C’est bon : le deuxième jour de la semaine c’est mardi. Le 19 avril 2022 sera un mardi.


Notez quelques trucs :
— Cette formule fonctionne pour les années après l’an 2000. Il est possible de faire une formule pour les années avant aussi, mais je n’ai pas jugé utile de faire ça (il suffit de soustraire le nombre d’années bissextiles entre votre année et l’an 2000, en fait).
— Les « modulo 7 » sont à utiliser ici parce que les semaines ont 7 jours, et que toutes les semaines on retrouve les mêmes jours. Donc qu’on prenne le 10e jour ou le 3e jour, il sera identique. Le module sera uniquement à compter avec des nombres plus petits.
— Le résultat donne le jour de la semaine : 1 pour lundi, 2 pour mardi, etc. Si vous savez 7, c’est dimanche. Si vous savez 0, c’est dimanche aussi. En fait, 7%7 reste possible et ça fait 0.
— Pour trouver le nombre d’années bissextiles depuis l’an 2000, c’est simple : les années multiples de 4 sont bissextiles (2004, 2008, 2012, 16, 20…). Aussi, tous les 20 ans, on a 5 années bissextiles. Donc pour 2060, le nombre d’années bissextiles est 15. Le code de l’année 2060 sera donc (60+15)%7 soit 5.

(source, en anglais)


Image de Studio Curve