Modificateurs de filtre anti-abus, Bureaucrates, Administrateurs d’interface, Exemptés de blocage d’IP, Administrateurs
31 182
modifications
(→Méthode 1 : Correction de la mauvaise traduction de l'algo original en C qui fonctionne bien) |
|||
</syntaxhighlight>
Comme Mike Keith est un mathématicien américain, d = Day pour Jour (d = 1 à 31) ; m = Month pour Mois (m = 1 à 12; 1 = Janvier, 2 = Février, 3 = Mars, ... , 12 = Décembre) et y = Year pour Année.
L'algorithme traduit les formules mathématiques suivantes :
Si m < 3 :
:<math>wd = \left\lfloor \frac{23 \times m}{9} \right\rfloor + d + 4 + y + \left\lfloor \frac{y - 1}{4} \right\rfloor - \left\lfloor \frac{y - 1}{100} \right\rfloor + \left\lfloor \frac{y - 1}{400} \right\rfloor \pmod7</math>
Sinon :
:<math>wd = \left\lfloor \frac{23 \times m}{9} \right\rfloor + d + 2 + y + \left\lfloor \frac{y}{4} \right\rfloor - \left\lfloor \frac{y}{100} \right\rfloor + \left\lfloor \frac{y}{400} \right\rfloor \pmod7</math>
▲D = Jour de semaine (D = 0 à 6; 0 = Dimanche, 1 = Lundi, ... , 6 = Samedi)
En détails :
* Une année non bissextile comporte 365 jours, soit 52 semaines et 1 jour. Le jour de la semaine d'une date se décale donc d'un jour par année non bissextile, il faut donc ajouter le nombre d'années écoulées.
* Une année bissextile comporte 366 jours, soit 52 semaines et 2 jours. Le jour de la semaine d'une date se décale donc de deux jours par année bissextile au lieu d'un seul, il faut donc ajouter en plus le nombre d'années bissextiles écoulées.
* Une année est bissextile si elle est multiple de 4, mais non multiple de 100 à moins qu'elle soit multiple de 400. On ajoute donc l'année, l'année divisée par 4 pour le nombre d'années multiples de 4, moins (sauf) l'année divisée par 100 pour le nombre d'années multiples de 100, plus l'année divisée par 400 pour le nombre d'années multiples de 400.
'''Exemples :'''
|