Převodník formátů data — jak převádět mezi DD.MM.YYYY, ISO 8601 a Unix timestamp
Formát zápisu data je jednou z nejčastějších příčin chyb v programech, nedorozumění v dokumentech a problémů s importem dat. Důvod je prostý: v různých zemích a systémech platí různé konvence a 03/04/2026 může znamenat 3. dubna i 4. března — záleží na tom, kdo to napsal.
Jaký formát data používat v České republice
Oficiální standard pro dokumenty v České republice je DD.MM.YYYY s tečkou: 22.03.2026. Odpovídá ČSN a je přijat ve většině státních institucí, bank a účetních programů. Při vývoji webu a práci s databázemi se doporučuje ISO 8601 (YYYY-MM-DD) — je jednoznačný a podporován všemi moderními databázemi a API.
Proč vývojáři používají Unix timestamp
Unix timestamp je počet sekund od 1. ledna 1970 UTC. Jde o prosté celé číslo, nezávislé na jazyce, časovém pásmu a regionu. Aritmetika s ním je snadná: přidejte 86400 — získáte zítřek, odečtěte 3600 — získáte hodinu zpět. Proto je timestamp standardem v lozích, databázích, cache, frontách úkolů a všech systémech, kde záleží na přesné chronologii. JavaScript používá milisekundy (Date.now()), takže timestamp z JS je třeba dělit 1000 pro získání Unix sekund.
Automatické rozpoznání formátu data
Převodník se pokouší formát rozpoznat automaticky. Logika: pokud je první složka větší než 12 — jde o den, formát je DD/MM nebo DD.MM. Pokud je první složka čtyřciferná — ISO 8601. Pokud bylo zadáno velké číslo bez oddělovačů — Unix timestamp nebo milisekundy. Pokud je přítomen název měsíce — rozpozná se jazyk a pozice dne. V nejednoznačných případech (např. 03/04/2026) převodník zobrazí upozornění a nabídne ruční volbu formátu.
Časté chyby při práci s formáty data
Nejčastější problémy: import CSV s daty v americkém formátu do českých programů (měsíc a den se zamění), Excel automaticky převádí data podle regionálních nastavení, API vracející timestamp v milisekundách místo sekund, a databáze s daty uloženými jako řetězce bez pevného formátu. Vyhněte se ukládání dat jako řetězců — vždy používejte typ DATE/DATETIME nebo Unix timestamp v celočíselném poli.