Svátek v matrice: jak dopočítat kalendářní den
Návod, jak z církevního svátku v matrice bezpečně získat kalendářní den, rozlišit pohyblivá data a uchovat původní znění zápisu.
7 minut čtení
Z označení svátku k pracovnímu datu
V zápisu čtete „první neděli po Velikonocích“, ale potřebujete kalendářní datum. Převod rozdělte na čtení, výklad a výpočet. I správně napsaný program vrátí nepoužitelný výsledek, když zadáte jiný rok nebo zvolíte nesprávný kalendář. Původní označení proto nepřepisujte vypočteným dnem.
Výsledkem bude řádek v tabulce, v němž zůstane doslovný text, návrh výkladu, případný výsledek a stav kontroly. Nevyřešený svátek může mít datum prázdné. To je přesnější než konkrétní den doplněný jen proto, aby tabulka neměla mezery.
Pokud postup konzultujete s modelem, použijte smyšlený text nebo malý historický výřez bez osobních údajů žijících. Skutečné údaje žijících do chatu ani cloudové tabulky neposílejte. Vlastní výpis a závěr si uchovejte u sebe.
Krok 1: Doslovný přepis bez okamžitého přepočtu
Prvním pravidlem bezpečné práce je zachování původního textu. Do své badatelské tabulky vytvořte samostatný sloupec pro doslovný přepis data přesně v té podobě, v jaké je zapsáno v knize. Zapište text včetně dobového pravopisu, zkratek a případných pochybností ve čtení. Pokud stojí „dominica in albis“, zachovejte latinské znění. Moderní české znění patří až vedle jako výklad. Příklad je smyšlený; na skutečném snímku opisujte to, co vidíte.
Tento přístup přímo navazuje na zásady popsané v článku Sjednocení dat v tabulce bez ztráty nejistoty, kde původní text zůstává trvalou kotvou vedle standardizovaných sloupců. Jakmile máte původní znění bezpečně uložené, můžete v sousedním sloupci začít pracovat na výkladu.
Krok 2: Rozlišení pevných a pohyblivých svátků
Pro další postup potřebujete rozlišit, zda označení odkazuje k pevnému dni v příslušném kalendáři, nebo k datu odvozenému například od Velikonoc. Toto rozlišení je otázka k ověření, nikoli úkol pro výpočetní funkci.
U pevného svátku dohledávejte význam celého názvu v podkladu pro příslušnou dobu a místo. Samotné jméno „svatý N.“ nemusí určit jediný den. Prověřte, kterého světce a kterou slavnost text označuje. Dnešní kalendář jmen sám nestačí jako doklad staršího významu. Pokud je zdroj nejednoznačný, napište obě možnosti do výkladu a den nevyplňujte.
Dvě pevné ukázky jsou sv. Václav 28. září a Narození sv. Jana Křtitele 24. června. Jan Křtitel má i svátek Umučení 29. srpna; označení v zápisu proto bez upřesnění nestačí. Například označení „na sv. Václava“ při doloženém roku 1791 vede k návrhu 1791-09-28; „na Narození sv. Jana Křtitele“ k 1791-06-24. Vždy nejprve ověřte celé označení v zápisu, nikoli jen křestní jméno světce.
U pohyblivého označení potřebujete výchozí svátek, rok a přesný odstup. Následující tabulka počítá od Velikonoční neděle; záporné číslo znamená dny před ní. Poslední sloupec slouží ke kontrole skriptu pro rok 2026.
| Označení | Odstup ve dnech | Datum 2026 |
|---|---|---|
| Popeleční středa | -46 | 18. 2. |
| Květná neděle | -7 | 29. 3. |
| Bílá neděle | +7 | 12. 4. |
| Nanebevstoupení Páně | +39 | 14. 5., čtvrtek |
| Letnice | +49 | 24. 5. |
| Boží tělo | +60 | 4. 6., čtvrtek |
Bílá neděle je první neděle po Velikonocích, latinsky dominica in albis, také Quasimodo. Ve smyšleném příkladu roku 1785 níže pracujeme právě s tímto latinským označením. Tabulka nenahrazuje přečtení celého textu ani neurčuje, ke které události datum patří.
V českých zemích se gregoriánský kalendář zavedl v roce 1584. Před tímto rokem zde uvedený výpočet neplatí a skript vyhodí chybu. U zápisů z přechodného roku ověřte místní kalendářní souvislost zvlášť. K ověření použijte Friedrichovu Rukověť křesťanské chronologie; pouhý výsledek funkce historický výklad nepotvrzuje. Funkce nepřevádí juliánské datum.
Krok 3: Co svěřit modelu a co nechat na skriptu
Model můžete požádat o možné významy přesně přepsaného označení a otázky pro badatele. Každý návrh zůstává pracovní. Ke zvolenému výkladu potřebujete dohledatelný zdroj, který skutečně odpovídá místu a období zápisu. Nezjištěný význam nedoplňujte odhadem.
Výpočet přenechte ověřenému skriptu nebo tabulce. Vstupní rok, kalendář a odstup přitom určujete vy. Omezení skriptů a kontrolu na známém vzorku vysvětlují články Co zvládne skript a co ne a Od chatu ke skriptu. Ani bezchybné spuštění nepotvrzuje historický výklad.
Ukázka skriptu pro výpočet Velikonoc v Pythonu
Pro výpočet data Velikonoční neděle v gregoriánském kalendáři existuje zavedený matematický postup, který lze snadno zapsat v jazyce Python bez použití externích knihoven. Následující ukázka obsahuje funkci pro výpočet Velikonoc a funkci pro posun o zadaný počet dnů. Vypíše všech šest svátků z tabulky:
from datetime import date, timedelta
def datum_velikonoc(rok: int) -> date:
"""Vypocet data Velikonocni nedele v gregorianskem kalendari."""
if not 1584 <= rok <= 4099:
raise ValueError("Ukazka prijima pouze roky 1584 az 4099.")
a = rok % 19
b = rok // 100
c = rok % 100
d = b // 4
e = b % 4
f = (b + 8) // 25
g = (b - f + 1) // 3
h = (19 * a + b - d - g + 15) % 30
i = c // 4
k = c % 4
l = (32 + 2 * e + 2 * i - h - k) % 7
m = (a + 11 * h + 22 * l) // 451
mesic = (h + l - 7 * m + 114) // 31
den = ((h + l - 7 * m + 114) % 31) + 1
return date(rok, mesic, den)
def datum_svatku(rok: int, odstup: int) -> date:
return datum_velikonoc(rok) + timedelta(days=odstup)
rok_zapis = 2026
odstupy = {
"Popelecni streda": -46,
"Kvetna nedele": -7,
"Bila nedele": 7,
"Nanebevstoupeni Pane": 39,
"Letnice": 49,
"Bozi telo": 60,
}
print("Velikonoce:", datum_velikonoc(rok_zapis))
for nazev, odstup in odstupy.items():
print(nazev + ":", datum_svatku(rok_zapis, odstup))
print("Bila nedele 1785:", datum_svatku(1785, 7))
Ukázku uložte jako soubor svatek.py a spusťte příkazem python3 svatek.py. Pro rok 2026 vypíše Velikonoce 2026-04-05 a svátky podle tabulky výše. Poslední řádek ukáže Bílou neděli 1785-04-03. Funkce přijímá roky 1584 až 4099; horní mez je omezením ukázky. Změnou rok_zapis zvolíte jiný rok, argumentem odstup jiný počet dnů. Program žádný váš soubor nepřepisuje.
Krok 4: Ověření výpočtu na známých datech
Než výsledky skriptu nebo tabulkového vzorce zanesete k matričním záznamům, musíte celý postup důkladně otestovat. Nespoléhejte na to, že kód funguje, jen proto, že proběhl bez chybového hlášení.
Začněte kontrolou, kterou zvládnete porovnat přímo zde: Velikonoce 2024 jsou 31. března, Velikonoce 2026 jsou 5. dubna. Spusťte funkci pro oba roky a poté pro rok 2026 porovnejte všech šest posunů s tabulkou. Kontrolujete tak nejen základní datum, ale i znaménko odstupu a přechod mezi měsíci.
Pro vlastní práci přidejte další kontrolní roky z nezávislé předlohy a poznamenejte si zdroj. Při neshodě výpočet nepřebírejte a prověřte kalendář, vstupní rok i kód. Shoda vzorku stále nepotvrzuje význam nejasného svátku.
Krok 5: Výsledná tabulka se zachováním jistoty
Výsledná tabulka musí uchovávat celou cestu od zápisu v knize až po kalendářní den. Zaveďte proto čtyři klíčové sloupce:
- Doslovný zápis: text přepsaný z matriky bez úprav.
- Výklad: identifikace svátku či světce (pracovní návrh).
- Návrh data: kalendářní den ve standardním formátu (rok-měsíc-den).
- Jistota: označení míry spolehlivosti a případné pochybnosti.
Následující ukázka je celá smyšlená. Čísla P1 a P2 zastupují vlastní výpisy s označením knihy a snímku. Výsledek u P1 je podmíněný výkladem a kalendářem; není to tvrzení o ověřeném archivním nálezu.
| Doslovný zápis | Výklad | Návrh data | Jistota a další krok |
|---|---|---|---|
| P1: „dominica in albis“, rok 1785 | návrh: sedm dnů po velikonoční neděli v gregoriánském výpočtu | 1785-04-03, pracovní výsledek | výpočet uveden výše; ověřit čtení, rok a kalendářní souvislost |
| P2: „na den swateho N.“, rok 1791 | světec a slavnost neurčeni | význam neověřen; hledat dobový kalendářní podklad |
Na rozdíl od postupu pouhého sjednocování dat zde smíte zapsat početní návrh: původní zápis zůstává, návrh je výslovně označený a neslouží jako doložený fakt. Sloupec datum_upravene z článku o sjednocení zůstává prázdný.
Rok připojte s vysvětlením, odkud jej znáte. Nadpis ročníku ověřte v souvislosti s daným zápisem; při přechodu do jiného oddílu jej nepřenášejte automaticky z předchozího snímku. Ke každému řádku přidejte také druh události. Datum křtu zůstává datem křtu, i když jste je získali výpočtem.
U P1 máte hotový početní návrh, u P2 hotovou otázku pro další hledání. Po badatelském ověření doplňte zdroj výkladu a datum kontroly. Samotné slovo „vysoká“ ve sloupci jistoty by neukázalo, zda jste ověřili písmena, kalendář, nebo jen aritmetiku.