Calculer le jour de la semaine de n’importe qu’elle date

Bon à l’heure de l’électronique, des téléphones avec des applications calendrier à tout bout de champ, on ne va pas se mentir, la méthode que je vais vous présenter, n’est pas la plus utile. Mais qui ne s’est pas déjà retrouvé pendant un examen à se demander la date du jour, la méthode peut s’avérer tout de même un peu utile.

Par contre s’il s’agit d’impressionner vos amis pour briller en société avec des "le débarquement de Normandie le 6 juin 44, hum, c’était un mardi" et bien cette méthode est faite pour vous.

Pour la simplifier la suite on va poser des variables.

J : La variable du jour de la date
M : La variable du ième mois de la date
A : La variable de l'année de la date

Ainsi la date s'écrit couramment J/M/A.

La méthode consiste à faire la somme du jour avec le nombre d'année depuis 1900 puis avec le nombre d'année bissextile depuis 1900 (en comptant celle en cours si la date est après le 29 février) et ensuite avec un coefficient dépendant du mois. Le tout modulo 7 pour avoir le numéro du jour de la semaine (0 pour dimanche).

$$
\left(J + (A-1900) + \left\lfloor\frac{A-1900}{4}\right\rfloor + _M[M]\right) \% 7
$$

avec

$$
_M = [0,3,3,6,1,4,6,2,5,0,3,5]
$$

Par exemple pour le 23/07/2020, on a (23 + 120 + 30 + 6)%7 = 179%7 = 4 donc un jeudi.

Le principe de cette méthode est de compter le décalage de jour depuis le 1ᵉʳ Janvier 1900 (qui est un lundi).

Pour chaque année on peut former des paquets de 7 jours à ne pas compter pour le décalage. Puisque une année contient 365 jours (52 semaines et 1 jour) on peut compter un décalage de 1 par année et de 2 pour les années bissextiles.

Une fois décalé au 1ᵉʳ janvier l'année voulue il faut se décaler au bon mois.

Si c'est en janvier, on y est déjà. Mais en février, les 31 jours de janvier sont passés (31 % 7 = 3) donc 3 jours de décalage. En mars on a les 3 jours de décalage de janvier + 28 jours de février donc 31 jours soit toujours 3 jours de décalage. En avril, on a les 3 jours de décalage de février + 31 jours de mars soit 34 jours (34 % 7 = 6) donc 6 jours de décalage. Et ainsi de suite jusqu’en décembre.

On obtient le tableau $$_M = [0,3,3,6,1,4,6,2,5,0,3,5]$$

Plus qu'à considérer le décalage avec le jour voulu et on y est. On fait un dernier %7 pour avoir un résultat entre 0 et 6 et on a notre décalage depuis le lundi 1ᵉʳ Janvier 1900 et donc le ième jour de la semaine.

Merci d’avoir pris le temps de lire cet article. Je vous prie de bien briller en société grâce à cette méthode et de vous faire passer pour des génies à des télé-crochets.