CodeKitHub
Časové nástroje

Konvertor Unix časových pečiatok

Naposledy aktualizované:

Unix časová pečiatka počíta sekundy uplynuté od 1. januára 1970, 00:00:00 UTC — časová pečiatka 1 000 000 000 pripadala napríklad na 9. septembra 2001. Konvertujte Unix časovú pečiatku na čitateľný dátum, alebo vyberte dátum a získajte jeho časovú pečiatku. Nástroj automaticky rozpozná sekundy vs. milisekundy, zobrazuje miestny čas, UTC a ISO 8601, a v hornej časti zobrazuje živo tikajúce epoch hodiny.

Current timestamp (seconds)
Current timestamp (milliseconds)

Timestamp → Date

Date → Timestamp

Čo je tento nástroj?

Unix časová pečiatka (nazývaná aj epoch time) je počet sekúnd uplynutých od 1. januára 1970, 00:00:00 UTC. Je to štandardný spôsob, akým počítače ukladajú okamihy v čase: databázy, log súbory, API a programovacie jazyky ju všetky používajú, pretože je to jedno jednoznačné číslo bez zmätkov s časovými pásmami.

Existujú dve varianty: sekundy (dnes 10 číslic, napr. 1720500000) a milisekundy (13 číslic, používané JavaScriptom a Javou). Tento nástroj automaticky rozpozná, ktorú z nich ste vložili.

Prečo ho používať?

  • Okamžite čítajte časové pečiatky z logov, riadkov databázy a odpovedí API.
  • Automaticky rozpozná sekundy vs. milisekundy — žiadne hádanie.
  • Zobrazuje miestny čas, UTC, ISO 8601 a relatívny čas („pred 3 hodinami“) spolu.
  • Konvertuje oboma smermi: časová pečiatka → dátum a dátum → časová pečiatka.
  • Živé hodiny s aktuálnym epoch časom pre rýchlu referenciu.

Ako sa používa

  1. Na dekódovanie: vložte časovú pečiatku (ako 1720500000) do ľavého poľa a kliknite na „Convert“.
  2. Prečítajte si výsledok vo vašom miestnom časovom pásme, UTC, ISO 8601 a ako relatívny čas.
  3. Na kódovanie: vyberte dátum a čas v pravom poli a kliknite na „Convert“ pre získanie jeho časovej pečiatky v sekundách a milisekundách.
  4. Použite živé hodiny v hornej časti, keď potrebujete len aktuálnu časovú pečiatku.

Príklad

Vstup

1720500000

Výstup

Local time: 7/9/2024, 1:20:00 PM
UTC time:   Tue, 09 Jul 2024 05:20:00 GMT
ISO 8601:   2024-07-09T05:20:00.000Z

10-ciferná hodnota sa spracuje ako sekundy; 13-ciferná hodnota ako milisekundy.

Praktické tipy

  • Ladenie chýb „nesprávny čas“: 90 % z nich sú problémy so zobrazením časového pásma, nie nesprávne časové pečiatky. Porovnajte riadok UTC s vašimi serverovými logmi (servery zvyčajne logujú v UTC) predtým, než sa dotknete akéhokoľvek kódu.
  • Dátum, ktorý pripadne presne na 1970-01-01, znamená, že časová pečiatka bola 0 alebo chýbala — klasický príznak nulovej hodnoty, nie skutočný dátum.
  • Dátum okolo roku 1970 plus pár dní zvyčajne znamená, že sekundy boli niekde interpretované ako milisekundy; dátum v roku 56 000+ znamená opačný prípad.
  • V tabuľkách: Excel počíta dni od roku 1900, nie sekundy od roku 1970. Konvertujte pomocou =(A1/86400)+DATE(1970,1,1) pre časovú pečiatku v sekundách.

Reálne scenáre použitia

Kde časové pečiatky v praxi spôsobujú problémy: čítanie polí platnosti v JWT a API tokenoch (exp/iat sú Unix sekundy), spájanie času hlásenia chyby používateľom s riadkami serverových logov, nastavovanie TTL cache a cron okien, a kontrola, či certifikát alebo token skutočne vypršal. Riadok relatívneho času („pred 3 hodinami“) je najrýchlejšia kontrola zdravého rozumu pre všetky tieto prípady.

Ladenie JWT je dostatočne časté na to, aby sme to rozobrali: dekódujte payload tokenu pomocou nástroja Base64, potom sem vložte hodnotu exp — okamžitá odpoveď na otázku „je tento token vypršaný a o koľko“.

Prečo bol Unix time navrhnutý takto

Ukladanie jedného rastúceho čísla od pevného epoch (namiesto štruktúry rok/mesiac/deň/hodina) bol zámerný kompromis jednoduchosti: dve časové pečiatky sa dajú porovnať alebo od seba odpočítať obyčajnou aritmetikou, bez potreby kalendárnej logiky, čo je dôvod, prečo sú na ňom postavené databázy, formáty logov a prakticky každá interná reprezentácia dátumu v programovacích jazykoch. Cena tejto jednoduchosti je presne to, na čo tento nástroj existuje, aby to vyhladil — ľudia nerozmýšľajú v sekundách od roku 1970, takže každú časovú pečiatku treba preložiť späť na kalendárny dátum, aby mala pre človeka, ktorý ju číta, nejaký zmysel, a tento preklad musí naraz zohľadniť časové pásmo, presnosť (sekundy vs. milisekundy) a formát zobrazenia.

Base64 kodér / dekodér · Kalkulačka veku

Časté otázky

Ako nástroj vie, či je moja časová pečiatka v sekundách alebo milisekundách?

Podľa veľkosti. Hodnoty 1 000 000 000 000 (1e12) alebo väčšie sa spracujú ako milisekundy; menšie hodnoty ako sekundy. Aktuálne dátumy predstavujú približne 1,7 miliardy v sekundách a približne 1 700 miliárd v milisekundách, takže sa tieto dva rozsahy pri reálnych dátumoch neprekrývajú.

Prečo moja časová pečiatka zobrazuje inú hodinu, než očakávam?

Časové pásma. Časová pečiatka je vždy založená na UTC; riadok „local time“ ju konvertuje na časové pásmo vášho zariadenia. Porovnajte riadok UTC s tým, čo zaznamenáva váš zdrojový systém — mnoho serverov loguje v UTC.

Čo je problém roku 2038?

Systémy ukladajúce časové pečiatky ako podpísané 32-bitové celé čísla pretečú 19. januára 2038. Moderné systémy používajú 64-bitové celé čísla a nie sú ovplyvnené. Tento nástroj používa čísla JavaScriptu, ktoré zvládajú dátumy ďaleko za rok 2038.

Môžem konvertovať záporné časové pečiatky?

Áno. Záporné časové pečiatky predstavujú dátumy pred 1. januárom 1970 — napríklad -86400 je 31. december 1969.

Zahŕňa epoch aj prestupné sekundy?

Nie. Unix time predstiera, že každý deň má presne 86 400 sekúnd, a ignoruje prestupné sekundy — zámerné zjednodušenie, ktoré udržiava aritmetiku jednoduchou.

Súvisiace nástroje