Przejdź do głównej treści
Ulubione

Jak obliczyć dzień tygodnia dla dowolnej daty w pamięci

Do szybkiego obliczania dnia tygodnia w pamięci stosuje się algorytm „Dnia Sądu”, opracowany przez matematyka Johna Conwaya. Metoda opiera się na tym, że w każdym roku istnieją konkretne daty, które przypadają w ten sam dzień tygodnia. Dzień ten nazywa się „Dniem Sądu”.

Krok 1. Określenie dnia bazowego stulecia

Każde stulecie ma swój bazowy dzień tygodnia. Dla lat 2000. dniem bazowym jest wtorek. Jest to stała dla wszystkich obliczeń w obecnym stuleciu.

Do obliczeń stosuje się następującą numerację dni tygodnia:

Krok 2. Obliczenie „Dnia Sądu” konkretnego roku

Bierzemy dwie ostatnie cyfry roku i wykonujemy obliczenia według wzoru: dzielimy przez 12, dodajemy resztę i wynik dzielenia reszty przez 4. Omówmy algorytm na przykładzie roku 2026.

Oddzielamy cyfry roku: 26. Dzielimy 26 przez 12. Otrzymujemy wynik 2 i resztę 2. Resztę 2 dzielimy przez 4, otrzymujemy 0. Sumujemy trzy wartości: 2 + 2 + 0 = 4.

Dodajemy wynik do dnia bazowego stulecia. Dzień bazowy (wtorek) ma numer porządkowy 2. Sumujemy 2 + 4 = 6. Szósty dzień tygodnia to sobota. „Dzień Sądu” roku 2026 przypada w sobotę.

Uwaga: jeśli suma jest większa niż 6, wystarczy odjąć od niej 7 (lub znaleźć resztę z dzielenia przez 7). Na przykład dla roku 2027 suma wynosi 7, co odpowiada 0 – niedzieli.

Krok 3. Zapamiętanie dat wskaźnikowych

W każdym miesiącu jest data, która zawsze przypada w „Dzień Sądu”.

Miesiąc Data wskaźnikowa (dla roku nieprzestępnego)
Styczeń 3 stycznia
Luty 28 lutego
Marzec 14 marca
Kwiecień 4 kwietnia
Maj 9 maja
Czerwiec 6 czerwca
Lipiec 11 lipca
Sierpień 8 sierpnia
Wrzesień 5 września
Październik 10 października
Listopad 7 listopada
Grudzień 12 grudnia

W latach przestępnych dla stycznia wskaźnikiem jest 4. dzień, a dla lutego – 29. dzień. Daty dla pozostałych miesięcy pozostają niezmienne.

Krok 4. Obliczenie szukanej daty

Określmy dzień tygodnia dla 25 października 2026 roku. Już wiemy, że „Dzień Sądu” roku 2026 to sobota. Określamy datę wskaźnikową dla października. To 10. dzień. Zatem 10 października 2026 roku to sobota.

Obliczamy różnicę w dniach między szukaną datą a wskaźnikiem: 25 - 10 = 15 dni. Dzielimy otrzymaną różnicę przez 7, aby znaleźć resztę dni. 15 dzieli się przez 7 z resztą 1.

Dodajemy resztę do „Dnia Sądu”. Sobota plus jeden dzień to niedziela. Wynik: 25 października 2026 roku to niedziela.

Jeśli szukana data jest mniejsza niż wskaźnik (np. 4 października), różnica będzie ujemna (4 - 10 = -6). W takim przypadku wystarczy dodać do „Dnia Sądu” 7 dni i odjąć różnicę, albo odejmować różnicę w dniach bezpośrednio od „Dnia Sądu” wstecz.