Článek
Výsledek je překvapivě nevyrovnaný
Když má kalendářní aplikace zobrazit celý měsíc v klasické mřížce od pondělí do neděle, někdy jí pět řádků nestačí. Projel jsem celý 400letý cyklus gregoriánského kalendáře, tedy 4 800 měsíců, a pro každý spočítal minimální počet týdenních řádků.
Výsledek: šest řádků je skutečně potřeba u 1 030 měsíců, tedy přibližně u 21,46 procenta. Pět řádků stačí u 3 727 měsíců, zhruba u 77,65 procenta. A čtyři řádky jsou možné jen ve 43 případech — necelé jedno procento celého souboru.
Nejde o odhad z několika let. Gregoriánský kalendář se po 400 letech přesně opakuje včetně dnů v týdnu, takže jeden úplný cyklus obsahuje všechny možné kombinace, které se v tomto systému znovu vracejí.
Proč právě 400 let
Pravidlo přestupných let je známé: rok dělitelný čtyřmi je obvykle přestupný, stoletý rok jen tehdy, když je zároveň dělitelný 400. V každém 400letém cyklu je proto 97 přestupných a 303 běžných let. NASA ve svém přehledu historie kalendářů uvádí, že tento cyklus obsahuje 146 097 dní. Toto číslo je přesně dělitelné sedmi, takže po 400 letech se vrátí nejen stejné datum, ale i stejný den v týdnu.
Pro výpočet jsem použil roky 2000 až 2399. Není na nich nic zvláštního; jde prostě o jeden kompletní gregoriánský cyklus.
Jak jsem řádky počítal
Metoda je záměrně jednoduchá a reprodukovatelná. U každého měsíce stačí znát dvě věci: na který den týdne připadne první den měsíce a kolik dní měsíc má. Pondělí jsem označil nulou, úterý jedničkou až neděli šestkou. K počtu dní měsíce jsem přičetl posun prvního dne a výsledek vydělil sedmi se zaokrouhlením nahoru.
Jinými slovy: měsíc začínající pozdě v týdnu „spotřebuje“ na prvním řádku jen několik buněk. Pokud má zároveň 30 nebo 31 dní, poslední datum může spadnout až do šestého řádku.
Výpočet jsem zkontroloval druhým způsobem pomocí hotové měsíční mřížky. Obě metody daly ve všech 4 800 případech stejný počet řádků.
Kdy je šestý řádek opravdu nevyhnutelný
U měsíce s 31 dny potřebujeme šest řádků tehdy, když první den připadne na sobotu nebo neděli. U třicetidenního měsíce nastane šestý řádek pouze při začátku v neděli. Únor šest řádků nepotřebuje nikdy.
Rok 2026 nabízí hned tři pěkné příklady. Březen začal v neděli a měl 31 dní, takže poslední dva dny spadly do šestého řádku. Srpen začal v sobotu a také měl 31 dní. Listopad začal v neděli a měl 30 dní. V běžné české mřížce od pondělí do neděle tedy všechny tři měsíce skutečně potřebují šest řádků, pokud nechceme data přelévat do sousední mřížky.
Čtyři řádky jsou skoro rarita
Úplně opačný případ je mnohem přísnější. Aby se celý měsíc vešel přesně do čtyř týdnů, musí mít 28 dní a začínat v pondělí. To může splnit pouze únor v nepřestupném roce. V celém 400letém cyklu takových únorů vyšlo jen 43.
Jedním z nejbližších příkladů je únor 2027. Začne v pondělí a skončí v neděli 28. února. Kalendářní mřížka tak může být dokonale obdélníková: čtyři týdny, čtyři řádky, žádné prázdné buňky na začátku ani na konci.
Proč některé kalendáře vypadají jinak
Výpočet říká, kolik řádků je minimálně potřeba pro klasickou měsíční mřížku, v níž týden začíná pondělím. Neříká, že každý papírový nebo digitální kalendář musí vypadat stejně. Některé aplikace drží šest řádků pořád, aby rozhraní mezi měsíci neposkakovalo. Jiné ukazují část předchozího a následujícího měsíce, některé používají neděli jako první den týdne a papírové kalendáře mohou krajní datum zapsat do jedné buňky společně.
Číslo 1 030 proto není „počet měsíců, které vždy uvidíte v šesti řádcích“. Je to počet měsíců, které při zadaných pravidlech šest řádků matematicky potřebují.
Šestý řádek není chyba grafika
Když se pod pátým týdnem objeví ještě jeden tenký proužek s několika dny, vypadá to někdy jako plýtvání místem. Ve více než pětině všech měsíců gregoriánského cyklu ale nejde o špatný návrh. Je to prostý důsledek toho, jak se 30 a 31 dní skládá do sedmidenních týdnů.
A nejhezčí na tom je, že k ověření nepotřebujeme sledovat kalendář tisíce let. Stačí projet jediný cyklus, protože po 400 letech se celý vzor začne opakovat.
Metoda výpočtu v jedné větě
rows = ceil((weekday_first + days_in_month) / 7), kde pondělí = 0 a neděle = 6. Kontrolní výpočet přes měsíční mřížku dal shodný výsledek pro všech 4 800 měsíců.
Zdroje a prameny
NASA / Goddard Space Flight Center — Calendars and their History — 400letý gregoriánský cyklus, 146 097 dní a opakování dnů v týdnu — otevřít zdroj




