Wyznaczanie daty zmiany czasu z zimowego na letni i odwrotnie


   Nie wchodząc w dyskusję, czy zmiany czasu z zimowego na letni i odwrotnie są przydatne ludzkości (zaczął ją w XVIII w. Benjamin Franklin), począwszy od 1996 r. państwa Unii Europejskiej przestawiają zegary o godzinę do przodu w ostatnią niedzielę marca i o godzinę do tyłu w ostatnią niedzielę października. Tylko kiedy w danym roku przypadają te dni?
   Aby na to pytanie odpowiedzieć, trzeba na przykład wyznaczyć w jaki dzień tygodnia (poniedziałek, wtorek, ...) data 31 marca lub 31 października i w zależności od tej informacji od tych dat odjąć odpowiednią liczbę dni.
   Jednym ze sposobów, aby dla danej daty określić właściwy dzień tygodnia, jest algorytm niemieckiego matematyka Christiana Zellera (1822-1899). Został on opracowany odpowiednio dla kalendarza juliańskiego i gregoriańskiego.
   Poniżej pokazano ten algorytm dla kalendarza gregoriańskiego wraz z możliwością wyznaczenia dat ostatniej niedzieli marca i ostatniej niedzieli października dla wpisanego roku, począwszy od roku 2000. W tabelce zestawiono konieczne do tego obliczenia, z uwzględnieniem kolorów liczb z poszczególnych kroków obliczeń. Sam algorytm jest uniwersalny, może służyć do wyznaczania dnia tygodnia dla dowolnej daty z kalendarza gregoriańskiego (od 1582 r.); wówczas należy pamiętać, że występująca w obliczeniach liczba M dla stycznia jest równa 13, dla lutego 14, dla marca = 3, dla kwietnia = 4 i tak aż do grudnia, gdy równa jest liczbie 12. Finalnym wynikiem obliczeń w algorytmie Zellera jest liczba (oznaczona w tabelce jako NM dla marca i NP dla października), która: dla soboty = 0, dla niedzieli = 1, dla poniedziałku = 2, ..., dla piątku = 6.    Gdy już po obliczeniach wiemy, że np. 31 marca 2021 w środę, to oznacza to, że ostatnia niedziela marca w tym roku będzie 3 dni wcześniej, czyli 28 marca. Jeśli dla przykładu w tym samym roku dzień 31 października przypada w niedzielę, to ten dzień oznacza ostatnią niedzielę października w 2021 roku.    Jak długo jeszcze będą dokonywane zmiany czasu z zimowego na letni i odwrotnie? Przyjęte przez państwa UE w 2019 roku ustalenia znoszące obowiązek zmiany czasu mają obowiązywać od 2021 roku, o ile państwa członkowskie przyjmą te przepisy. A z tym jeszcze nie wiadomo jak będzie...


   Jeżeli poniżej zostanie wpisany rok, to w tabelce będzie można zobaczyć wyniki poszczególnych obliczeń cząstkowych dla marca i października tego roku.



  (Po wpisaniu liczby strzałkami w górę lub w dół można zmieniać wartość)

Zmiana czasu z zimowego na letni: ()
Zmiana czasu z letniego na zimowy: ()


Poszczególne kroki obliczeń według algorytmu Zellera:

Działanie Oznaczenie Wynik
Ustalenie roku: R
Wynik zaokrąglenia w dół z dzielenia liczby przez 4: A
Wynik zaokrąglenia w dół z dzielenia liczby przez 100: B
Wynik zaokrąglenia w dół z dzielenia liczby przez 400: C
Numer ostatniego dnia miesiąca marzec lub październik: L
Numer miesiąca marzec: M
Dla marca - wynik zaokrąglenia w dół z dzielenia liczby (13*( + 1) przez 5): DM
Dla marca - reszta z dzielenia liczby ( + + + - + ) przez 7: NM
31 marca w r. przypada w:
Data ostatniej niedzieli marca:
Numer miesiąca październik: P
Dla października - wynik zaokrąglenia w dół z dzielenia liczby (13*( + 1) przez 5): DP
Dla października - reszta z dzielenia liczby ( + + + - + ) przez 7: NP
31 października w r. przypada w:
Data ostatniej niedzieli października: