Co je tento nástroj?
Unix časové razítko (nazývané také epochální čas) je počet sekund uplynulých od 1. ledna 1970, 00:00:00 UTC. Je to standardní způsob, jakým počítače ukládají body v čase: databáze, log soubory, API a programovací jazyky ho všechny používají, protože je to jediné jednoznačné číslo bez záměny časových pásem.
Existují dvě varianty: sekundy (dnes 10 číslic, např. 1720500000) a milisekundy (13 číslic, používané JavaScriptem a Javou). Tento nástroj automaticky rozpozná, kterou z nich jste vložili.
Proč ho používat?
- Okamžité čtení časových razítek z logů, řádků databáze a odpovědí API.
- Automaticky rozpoznává sekundy vs milisekundy — žádné hádání.
- Zobrazuje místní čas, UTC, ISO 8601 a relativní čas ("před 3 hodinami") pohromadě.
- Konverze oběma směry: časové razítko → datum a datum → časové razítko.
- Živé hodiny aktuální epochy pro rychlou referenci.
Jak se používá
- K dekódování: vložte časové razítko (jako 1720500000) do levého pole a klikněte na "Převést".
- Přečtěte si výsledek ve vašem místním časovém pásmu, UTC, ISO 8601 a jako relativní čas.
- Ke kódování: vyberte datum a čas v pravém poli a klikněte na "Převést" pro získání jeho časového razítka v sekundách a milisekundách.
- Použijte živé hodiny nahoře, když prostě potřebujete aktuální časové razítko.
Příklad
Vstup
1720500000Výstup
Místní čas: 9.7.2024, 13:20:00
UTC čas: Tue, 09 Jul 2024 05:20:00 GMT
ISO 8601: 2024-07-09T05:20:00.000Z10místná hodnota je považována za sekundy; 13místná hodnota za milisekundy.
Praktické tipy
- Ladění chyb "špatného času": 90 % jsou problémy se zobrazením časového pásma, ne špatná časová razítka. Porovnejte řádek UTC s vašimi serverovými logy (servery obvykle zaznamenávají v UTC) předtím, než se pustíte do úprav kódu.
- Datum, které dopadne přesně na 1970-01-01, znamená, že časové razítko bylo 0 nebo chybělo — klasický příznak nulové hodnoty, ne skutečné datum.
- Datum kolem 1970 + pár dní obvykle znamená, že sekundy byly někde interpretovány jako milisekundy; datum v roce 56 000+ znamená opak.
- V tabulkových procesorech: Excel počítá dny od roku 1900, ne sekundy od roku 1970. Převeďte pomocí =(A1/86400)+DATE(1970,1,1) pro časové razítko v sekundách.
Reálné případy použití
Kde časová razítka v praxi kouše: čtení polí expirace v JWT a API tokenech (exp/iat jsou Unix sekundy), porovnávání času nahlášení chyby uživatelem s řádky serverového logu, nastavování cache TTL a cron oken, a kontrola, zda certifikát nebo token skutečně vypršel. Řádek relativního času ("před 3 hodinami") je nejrychlejší kontrola zdravého rozumu pro všechny tyto případy.
Ladění JWT je natolik běžné, že stojí za rozepsání: dekódujte payload tokenu pomocí nástroje Base64, poté vložte hodnotu exp sem — okamžitá odpověď na "je tento token vypršelý a o kolik".
Proč byl Unix čas navržen tímto způsobem
Ukládání jediného narůstajícího čísla od pevné epochy (místo struktury rok/měsíc/den/hodina) byl záměrný kompromis pro jednoduchost: dvě časová razítka lze porovnat nebo odečíst obyčejnou aritmetikou, bez potřeby kalendářní logiky, což je důvod, proč jsou databáze, formáty logů a v podstatě reprezentace data v každém programovacím jazyce postaveny na tomto principu. Cenou za tuto jednoduchost je přesně to, k čemu tento nástroj existuje, aby to vyhladil — lidé nepřemýšlejí v sekundách od roku 1970, takže každé časové razítko potřebuje zpětný překlad na kalendářní datum, než pro čtenáře cokoli znamená, a tento překlad musí zohlednit časové pásmo, přesnost (sekundy vs milisekundy) a formát zobrazení najednou.
Časté dotazy
Jak nástroj pozná, jestli je mé časové razítko v sekundách nebo milisekundách?
Podle velikosti. Hodnoty 1 000 000 000 000 (1e12) nebo větší jsou považovány za milisekundy; menší hodnoty za sekundy. Aktuální data mají asi 1,7 miliardy v sekundách a asi 1 700 miliard v milisekundách, takže se tato dvě rozmezí u reálných dat nepřekrývají.
Proč se mé časové razítko zobrazuje s jinou hodinou, než čekám?
Časová pásma. Časové razítko je vždy založené na UTC; řádek "místní čas" ho převádí na časové pásmo vašeho zařízení. Porovnejte řádek UTC s tím, co zaznamenává váš zdrojový systém — mnoho serverů zaznamenává v UTC.
Co je problém roku 2038?
Systémy ukládající časová razítka jako podepsaná 32bitová celá čísla přetečou 19. ledna 2038. Moderní systémy používají 64bitová celá čísla a nejsou ovlivněny. Tento nástroj používá čísla JavaScriptu, která zvládají data daleko za rokem 2038.
Mohu převádět záporná časová razítka?
Ano. Záporná časová razítka představují data před 1. lednem 1970 — například -86400 je 31. prosince 1969.
Zahrnuje epocha přestupné sekundy?
Ne. Unix čas předstírá, že každý den má přesně 86 400 sekund a ignoruje přestupné sekundy — záměrné zjednodušení, které udržuje aritmetiku jednoduchou.