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 le jour d’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.

Il faut aussi connaître l’opérateur modulo, noté « % ». Le modulo c’est le reste de la division entière. Par exemple 10 % 7 (lire « 10 modulo 7 ») c’est le reste de 10÷7 c’est à dire 3. Plus compliqué, 22 % 7 c’est le reste de 22÷7, soit 1.
Ici on n’aura besoin que du module 7, mais cet opérateur peut être utilisé comme tous les autres, avec d’autres nombres.

La formule pour une 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ù :

  • Jour à calculer : c’est le jour du mois. Pour le 25 décembre, ce code est 25.
  • Code de l’année : c’est un code qui dépend de l’année. Il est égal aux deux derniers chiffres de l’année + le nombre d’années bissextiles depuis l’an 2000 (exclu). Pour l’an 2000, c’est 0+0. Pour l’an 2001, c’est 1+0. Pour l’an 2015, c’est (15+3). Le « 3 », c’est à cause des trois années bissextiles depuis l’an 2000 : 2004, 2008 et 2012. Si l’année en question est elle-même bissextile, on l’inclut : pour 2016, c’est donc 16+4.
  • Code du mois : chaque mois dispose d’un code qui dépend du nombre de jours qu’il contient et ceux des mois précédents. Il est plus facile d’apprendre les correspondances par cœur :
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

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

Ainsi, pour Noël 2015 on calcule :

  • Jour à calculer ? 25. Modulo 7 : ça fait 4.
  • Code du mois ? C’est 4.
  • Code de l’année ? (15+3)%7=4
  • La somme 4+4+4 = 12.
  • 12 modulo 7, ça donne 5.

Ç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.

  • Jour à calculer ? 19. Modulo 7, ça donne 5.
  • Code du mois ? C’est 5.
  • Code de l’année ? (22+5)%7=6.
  • La somme 5+5+6 = 16.
  • 16 modulo 7, ça donne 2.

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,).
  • 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 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.

Enfin, tout ceci peut semble compliqué à faire, mais il y a seulement deux choses à apprendre : le code pour chaque mois d’une part, et, d’autre part, le code de l’année en cours, à apprendre une fois par an.

(source, en anglais)

Image de Studio Curve