Jak komputer oblicza dzień tygodnia dla dowolnej daty
Każda data od chwili wejścia w życie kalendarza gregoriańskiego ma dokładnie jeden poprawny dzień tygodnia i można ją obliczyć za pomocą samej arytmetyki — nie jest wymagana żadna aplikacja kalendarza ani tabela przeglądowa. Podstawowa idea jest taka sama, jak sformalizowana za pomocą kongruencji Zellera i metody Sakamoto: policzyć całkowitą liczbę dni od znanego punktu odniesienia, a następnie przyjąć tę liczbę modulo 7, aby wylądować w dniu powszednim.
Nowoczesne oprogramowanie nie obsługuje dosłownie klasycznej formuły Zellera — zazwyczaj śledzi liczbę dni za pomocą wewnętrznie proleptycznego kalendarza gregoriańskiego — ale wynik jest matematycznie identyczny z tym, co obliczają te algorytmy pióra i papieru. Właśnie dzięki tej spójności ten kalkulator, papierowy almanach i mentalna sztuczka matematyczna zgadzają się na tę samą odpowiedź dla tej samej daty.
Zmiana jednodniowa (lub dwudniowa), rok po roku
Zwykły rok trwa 365 dni – dokładnie 52 tygodnie plus jeden dodatkowy dzień. Ten pozostały dzień powoduje, że stała data, powiedzmy 4 lipca, przesuwa się do przodu dokładnie o jeden dzień powszedni każdego roku: wtorek w jednym roku, środa w następnym i tak dalej.
Lata przestępne przełamują ten stały schemat. Ponieważ 29 lutego wstawia się w połowie roku, każda data rozpoczynająca się 1 marca przeskakuje o dwa dni powszednie zamiast o jeden w porównaniu z rokiem poprzednim. Daty w styczniu i lutym nie ulegają zmianie, dopóki dzień przestępny faktycznie nie minie.
Na znaku stulecia pojawia się kolejna zmarszczka: lata podzielne przez 100 nie są latami przestępnymi, chyba że dzielą się również przez 400. Rok 2000 był zgodnie z tą zasadą rokiem przestępnym; Rok 1900 nie był i 2100 też nie będzie — szczegół mający znaczenie, jeśli obliczasz dni powszednie daleko w przeszłości lub przyszłości.
Sprawdzanie dni tygodnia pod kątem dat historycznych
Ponieważ dzień tygodnia jest stałą właściwością samej daty, to samo obliczenie sprawdza się przy weryfikacji zapisów historycznych — potwierdzeniu, że udokumentowane wydarzenie faktycznie miało miejsce w dzień powszedni, jak twierdzi źródło, lub ustaleniu, w jaki dzień tygodnia urodził się odległy przodek.
Jedno zastrzeżenie dotyczące dat sprzed 1582 r.: kalendarz używany przed reformą gregoriańską (kalendarz juliański) opierał się na nieco innych zasadach dotyczących roku przestępnego, więc obliczenia dni powszednich dla dat poprzedzających tę zmianę zależą od kalendarza, z którego korzystał sam zapis historyczny.
Poza jedną datą: zdarzenia i liczba dni tygodnia
Gdy już potrafisz obliczyć dzień tygodnia dla jednej daty, z tej samej matematyki wynikają trzy kolejne przydatne pytania:
- Next/previous occurrence — the closest date before or after a given day that falls on a specific weekday, useful for finding "the next Friday" from any starting point.
- Policz dni tygodnia — ile razy dany dzień tygodnia (powiedzmy poniedziałek) występuje w danym zakresie dat, co wynika z tej samej matematyki, co w przypadku liczenia okresów rozliczeniowych lub dat spotkań cyklicznych.
- Znajdź wszystkie wystąpienia — pełna lista wszystkich dat przypadających na dany dzień tygodnia w określonym zakresie, przydatna przy planowaniu wydarzeń powtarzających się co tydzień.
Jeśli zamiast tego potrzebujesz dokładnej liczby dni między dwiema datami lub ciągłego odliczania do daty docelowej, plik Licznik dni zajmuje się tym bezpośrednio. Aby dowiedzieć się, jak dodać lub odjąć lata, miesiące lub tygodnie od daty, zobacz sekcję Kalkulator daty.