Mechanika kalendářních výpočtů a přestupné roky
Výpočty s kalendářními daty vyžadují zohlednění nepravidelností v délce jednotlivých měsíců a cyklů přestupných let. Na rozdíl od jednoduché aritmetiky, kde má každá jednotka fixní hodnotu, se délka měsíce v gregoriánském kalendáři pohybuje od 28 do 31 dnů. Přestupný rok pak přidává další den na konec února, což ovlivňuje výpočty prováděné napříč tímto obdobím.
Tato datumová kalkulačka provádí reálné kalendářní výpočty. Při přičítání nebo odečítání časových úseků systém automaticky rozpoznává délku každého dotčeného měsíce a identifikuje přestupné roky. Pokud například přičtete 1 rok k datu 29. února 2024 (přestupný rok), kalkulačka správně určí výsledné datum na 28. února 2025, protože rok 2025 přestupný není.
Pravidlo ořezávání konců měsíců (clamping)
Specifickým problémem kalendářní matematiky jsou situace, kdy výsledné datum připadá na den, který v cílovém měsíci neexistuje. Typickým příkladem je přičtení jednoho měsíce k datu 31. ledna. Jelikož únor nikdy nemá 31 dní, je nutné aplikovat standardní kalendářní konvenci.
Kalkulačka řeší tyto stavy tak, že výsledek automaticky posune na poslední existující den v daném cílovém měsíci. Pokud tato situace nastane, v rozhraní se zobrazí upozornění: „Tento den v cílovém měsíci neexistuje, takže výsledek připadá na jeho poslední den.“. Výpočet se tak neposune do následujícího měsíce, ale zůstane fixován na konci cílového období.
Pevné pořadí operací při výpočtu
Při kombinování různých časových jednotek (roky, měsíce, týdny, dny) závisí konečný výsledek na pořadí, v jakém jsou tyto hodnoty aplikovány. Pro zajištění konzistence a předvídatelnosti používá kalkulačka pevně stanovený postup:
- Nejprve se aplikují roky a měsíce.
- Následně se přičítají nebo odečítají týdny a dny.
Tento postup eliminuje nejednoznačnosti. Pokud by se nejprve přičetly dny a až poté měsíce, výsledné datum by se mohlo lišit v závislosti na počtu dní v měsících, kterými výpočet prochází. Pevné pořadí zaručuje, že výpočet dospěje ke stejnému výsledku při každém opakování.
Kalendářní dny versus pracovní dny
Při plánování termínů a lhůt je klíčové rozlišovat mezi kalendářními a pracovními dny. Tato kalkulačka pracuje výhradně s kalendářními dny. To znamená, že do celkového počtu dní a do všech posunů jsou zahrnuty víkendy (soboty a neděle) i státní svátky.
Výstup kalkulačky však obsahuje také informaci o dni v týdnu pro výsledné datum. Uživatel tak může snadno identifikovat, zda vypočítaný termín nepřipadá na den pracovního klidu, a v případě potřeby provést manuální úpravu termínu.
Vstupy, limity a chybové stavy
Pro správné fungování kalkulačky je nutné dodržet limity pro zadávané hodnoty. Vstupní pole přijímají následující parametry:
- Počáteční datum: Libovolné platné kalendářní datum (výchozí hodnotou je dnešní datum).
- Směr: Volba mezi možnostmi „Přičíst“ a „Odečíst“.
- Roky, Měsíce, Týdny, Dny: Celá čísla v rozmezí od 0 do 1 000 000 včetně.
Pokud uživatel zadá neplatné údaje, kalkulačka zobrazí příslušné chybové hlášení a výsledky se vymažou na hodnotu —:
- V případě neplatného formátu počátečního data se zobrazí: „Počáteční datum není platné kalendářní datum.“.
- Pokud kterákoli z hodnot překročí limit nebo není celým číslem, zobrazí se: „Každá hodnota musí být celé číslo do 1 000 000.“.
- Podporovaný rozsah pro výsledné datum je omezen na roky 1 až 9999. Pokud výsledek překročí tuto hranici, zobrazí se chybová zpráva: „Výsledek leží mimo podporovaný rozsah (roky 1–9999).“.
Interpretace výstupních formátů
Po úspěšném výpočtu kalkulačka poskytuje tři typy výstupů, které lze kliknutím zkopírovat do schránky:
- Výsledné datum: Zobrazuje plný název dne v týdnu a kalendářní datum (např. úterý 15. srpna 2023).
- Jako RRRR-MM-DD: Datum zapsané v mezinárodním standardizovaném formátu ISO 8601, který je vhodný pro databáze a tabulkové procesory.
- Dny od počátečního data: Celkový absolutní počet kalendářních dní, které dělí počáteční datum od výsledného data. Tento údaj vyjadřuje čistou vzdálenost mezi oběma daty bez ohledu na rozdělení do měsíců či let.
Zpracování dat a soukromí
Všechny výpočty probíhají lokálně přímo ve vašem webovém prohlížeči. Zadaná data, počáteční termíny ani délky posunů se neodesílají na žádný server a nikdy neopustí vaše zařízení.
Často kladené otázky
Kolik je 31. ledna plus jeden měsíc?
Únor nemá 31 dní, takže výsledek místo toho připadne na poslední den v měsíci – 28. února, nebo 29. února v přestupném roce. To je konvence, kterou se řídí kalendáře, banky i tabulkové procesory, a stavový řádek vás na to vždy upozorní.
V jakém pořadí se uplatňují roky, měsíce, týdny a dny?
Nejprve se přičítají roky a měsíce, poté týdny a dny. Takže 31. ledna plus jeden měsíc a jeden den nejprve dopadne na konec února a poté se posune o jeden den do března. Jiné pořadí by mohlo vést k jinému dni, a proto je toto pořadí pevné a předvídatelné.
Počítá tato kalkulačka pracovní dny?
Ne – kalkulačka počítá v kalendářních dnech, takže víkendy a státní svátky jsou do výpočtu zahrnuty. Výsledek zobrazuje den v týdnu, takže okamžitě vidíte, zda termín připadá na sobotu či neděli, a můžete jej sami posunout.