Unix časové razítko a převodník epochy
Unix časové razítko počítá počet sekund, které uplynuly od 1. ledna 1970, 00:00:00 UTC – běžně zvané „epocha“. Je to standardní způsob, jak počítače interně ukládají a porovnávají data, a tento nástroj převádí mezi tímto syrovým číslem a čitelným datem oběma směry.
Jak to používat
Záložka Razítko → Datum vezme libovolné Unix razítko – v sekundách nebo milisekundách – a zobrazí odpovídající místní čas, UTC čas a formát ISO 8601. Záložka Datum → Razítko dělá opak: vyber datum a čas, zvol, zda se má číst jako tvé místní pásmo nebo UTC, a získej odpovídající razítko v sekundách i milisekundách.
Unix čas se tradičně měří v sekundách, ale JavaScriptová funkce Date.now() a mnoho API vrací místo toho milisekundy – 13místné číslo místo 10místného. Pokud ti převod vychází o desítky let mimo, skoro jistě používáš špatnou jednotku.
Tipy a triky
Zkontroluj počet číslic jako rychlou kontrolu. Dnešní razítko v sekundách má 10 číslic, v milisekundách 13. Cokoliv výrazně mimo tento rozsah obvykle znamená špatně zvolenou jednotku.
Pro logy a API používej UTC. Většina serverových logů, databází a API třetích stran ukládá časová razítka v UTC – převod na místní čas tady může výrazně zrychlit ladění.
Časté dotazy
Co je Unix epoch?
Je to referenční bod – půlnoc UTC 1. ledna 1970 – od kterého se počítá Unix čas. Časové razítko 0 odpovídá přesně tomuto okamžiku.
Zohledňuje Unix čas přestupné sekundy?
Ne. Podle konvence Unix čas přestupné sekundy ignoruje a počítá s každým dnem jako přesně 86 400 sekundami, což zjednodušuje výpočty za cenu malého, dobře zdokumentovaného posunu oproti skutečnému UTC.
Zvládne převodník data před rokem 1970?
Ano. Časová razítka před epochou jsou reprezentována jako záporná čísla a převodník je zvládá správně oběma směry.