1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| // calcul du jour de la semaine (ESP32)
const char* const semaine[] = {"dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"};
// Algorithme de Mike Keith
byte jourDeLaSemaine(int j, int m, int a) {
byte js = 0;
if (m < 3) {
js = ((23 * m) / 9 + j + 4 + a + (a - 1) / 4 - (a - 1) / 100 + (a - 1) / 400) % 7;
} else {
js = ((23 * m) / 9 + j + 2 + a + a / 4 - a / 100 + a / 400) % 7;
}
return js;
}
void setup() {
Serial.begin(115200);
for (int jour = 1; jour < 31; jour++) {
Serial.printf("Le %02d/04/2022 est un %s\n", jour, semaine[jourDeLaSemaine(jour, 4, 2022)]);
}
}
void loop() {} |
Partager