CodeKitHub
Časové nástroje

Převodník Unix časových razítek

Naposledy aktualizováno:

Unix časové razítko počítá sekundy uplynulé od 1. ledna 1970, 00:00:00 UTC — razítko 1 000 000 000 například připadlo na 9. září 2001. Převeďte Unix časové razítko na čitelné datum, nebo vyberte datum a získejte jeho časové razítko. Nástroj automaticky rozpoznává sekundy vs milisekundy, zobrazuje místní čas, UTC a ISO 8601, a v horní části zobrazuje živě tikající hodiny epochy.

Current timestamp (seconds)
Current timestamp (milliseconds)

Timestamp → Date

Date → Timestamp

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á

  1. K dekódování: vložte časové razítko (jako 1720500000) do levého pole a klikněte na "Převést".
  2. Přečtěte si výsledek ve vašem místním časovém pásmu, UTC, ISO 8601 a jako relativní čas.
  3. 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.
  4. Použijte živé hodiny nahoře, když prostě potřebujete aktuální časové razítko.

Příklad

Vstup

1720500000

Vý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.000Z

10mí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.

Base64 kodér / dekodér · Kalkulačka věku

Č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.

Související nástroje