Převodník času Epoch

Převádějte Unixové časové značky na UTC data nebo převeďte datum na sekundy epochy.

Zvolte, zda chcete převést časovou značku na datum nebo datum na časovou značku.
Zadejte Unixovou časovou značku v sekundách.

Převedená hodnota

2024-03-09T16:00:00.000Z

Hodnota UTC2024-03-09T16:00:00.000Z
Unix milisekundy1 710 000 000 000
Den v týdnusobota

Jak používat tento převodník epoch času

  1. Vyberte režim převodu

    V poli Režim převodu vyberte Epoch na datum nebo Datum na epoch.

  2. Pro převod epoch na datum

    Do pole Unix timestamp (sekundy) zadejte Unix časové razítko v sekundách.

  3. Pro převod data na epoch

    Vyberte datum v poli Kalendářní datum a poté podle potřeby nastavte Hodinu (UTC), Minutu (UTC) a Sekundu (UTC).

  4. Přečtěte si výsledek

    Kalkulačka zobrazuje hodnotu UTC, Unix milisekundy a den v týdnu.

Metodika

Jak tento převodník času epochy funguje

Tento převodník času epochy převádí mezi Unixovými časovými razítky a lidsky čitelnými daty v UTC. Unixový čas — nazývaný také POSIX čas nebo čas epochy — počítá počet sekund, které uplynuly od Unixové epochy, definované jako půlnoc UTC 1. ledna 1970 (1970-01-01T00:00:00Z). Tato reprezentace pomocí jednoho celého čísla je de-facto standardem pro ukládání a přenos časových razítek v databázích, API, logovacích souborech, JWT tokenech a prakticky v každém moderním programovacím jazyce. Převodník funguje obousměrně: zadání číselného časového razítka vrátí odpovídající datum UTC, den v týdnu a ekvivalent v milisekundách, zatímco zadání kalendářního data a času vrátí hodnotu epochy v sekundách a milisekundách.

Vzorec
Unixový čas = sekundy uplynulé od 1970-01-01T00:00:00Z
epocha Referenční bod: půlnoc UTC 1. ledna 1970 (Unixové časové razítko 0)
Unixový čas (s) Celkový počet celých sekund od epochy do zadaného data a času
Unixový čas (ms) Unixový čas v sekundách vynásobený 1 000 – používá se v JavaScript Date, Java System.currentTimeMillis() a mnoha API
Datum UTC Datum v gregoriánském kalendáři a 24hodinový čas odpovídající danému časovému razítku
den v týdnu Název dne v týdnu odvozený z převedeného data UTC
Příklad

Pro převod Unixového časového razítka 1 700 000 000 na datum: počínaje 1970-01-01 00:00:00 UTC přičtěte 1 700 000 000 sekund. To odpovídá 19 675 dnům, 17 hodinám, 46 minutám a 40 sekundám. Výsledné datum v UTC je 14. listopadu 2023 v 22:13:20 UTC, což připadá na úterý. Ekvivalent v milisekundách je 1 700 000 000 000. Naopak zadání 14. listopadu 2023 v 22:13:20 UTC vrátí hodnotu epochy přesně 1 700 000 000.

Časové razítko 0 odpovídá 1970-01-01 00:00:00 UTC (čtvrtek). Ekvivalent v milisekundách je 0.

Časové razítko 1 704 000 000 odpovídá 2023-12-31 12:00:00 UTC (neděle). Zadání tohoto data a času v režimu „Datum na epochu“ vrátí 1 704 000 000.

Předpoklady
  • Všechny výpočty jsou v UTC. Převody na místní čas vyžadují po převodu aplikaci příslušného posunu časového pásma.
  • Přestupné sekundy se nepočítají. Stejně jako POSIX, i tento převodník považuje každý den za přesně 86 400 sekund, což odpovídá chování většiny programovacích jazyků a operačních systémů.
  • Záporná časová razítka představují data před epochou (1. ledna 1970). Například −86400 odpovídá 31. prosinci 1969.
  • Časová razítka v milisekundách by měla být před zadáním vydělena 1 000; převodník přijímá jako vstup sekundy a ve výsledcích zobrazuje ekvivalent v milisekundách.
Poznámky
  • Funkce Date.now() v JavaScriptu a System.currentTimeMillis() v Javě vracejí milisekundy, nikoli sekundy – před zadáním hodnoty ji vydělte 1 000, nebo pro porovnání použijte výstup v milisekundách.
  • Problém roku 2038 se týká 32bitových časových razítek se znaménkem, u kterých dojde k přetečení 19. ledna 2038 v 03:14:07 UTC. Většina moderních systémů již přešla na 64bitová časová razítka.
  • Při ladění odpovědí API nebo souborů protokolu si všímejte časových razítek, která se liší přesně o 3 600 nebo 7 200 sekund – to obvykle znamená, že byl někde v procesu aplikován (nebo vynechán) posun časového pásma.
  • Čas epochy je vždy monotónně rostoucí (pokud pomineme úpravy o přestupné sekundy), což jej činí ideálním pro řazení událostí, výpočet trvání a generování unikátních identifikátorů založených na čase.
Zdroje
  1. IEEE Std 1003.1 (POSIX) — definice sekund od počátku epochy
  2. Původ Unixové epochy — dokumentace The Unix Heritage Society a Bell Labs
  3. RFC 3339 — Datum a čas na internetu: Časová razítka

Co jsou Unix časová razítka?

Unix časové razítko (Unix timestamp) je počet sekund uplynulých od půlnoci UTC 1. ledna 1970 – tzv. Unix epochy. Toto celé číslo je de-facto standardem pro reprezentaci času v databázích, API, logovacích souborech a většině programovacích jazyků. Protože je nezávislé na časovém pásmu a monotónně roste, zjednodušuje řazení, výpočty trvání a časová porovnání. JavaScriptová funkce Date.now() a mnoho API vrací milisekundy (1 000 × sekundy), proto před zadáním hodnoty v milisekundách vydělte číslo 1 000. Záporná časová razítka představují data před rokem 1970; například −86400 je přesně jeden den před epochou.

Případy použití epoch času pro vývojáře

Vývojáři používají Unix časová razítka při ukládání časů událostí do databází, serializaci dat v JSON API, generování časových klíčů mezipaměti a ladění záznamů v logu. Databázové sloupce často ukládají časová razítka jako celá čísla pro efektivní indexování a dotazy na rozsahy. Odpovědi API často vrací epoch sekundy nebo milisekundy, aby se předešlo nejednoznačnosti časových pásem. Při ladění převod surového časového razítka z logu nebo JWT claimu na lidsky čitelné datum rychle odhalí, zda je hodnota správná nebo posunutá o časové pásmo. Epoch čas se také používá pro omezování četnosti požadavků (rate limiting), expiraci relací a generování řaditelných unikátních identifikátorů v distribuovaných systémech.

Časté dotazy k převodníku času epochy

Co je to Unixová epocha?

Unixová epocha je referenční bod, od kterého se měří Unixový čas: půlnoc UTC 1. ledna 1970 (1970-01-01T00:00:00Z). Časové razítko 0 odpovídá přesně tomuto okamžiku.

Proč má moje časové razítko v JavaScriptu více číslic?

Date.now() v JavaScriptu vrací milisekundy od epochy, nikoli sekundy. Pro převod na formát založený na sekundách, který používá tento nástroj, vydělte hodnotu 1 000, nebo ji porovnejte přímo s výstupem v milisekundách.

Mohu zadat záporné časové razítko?

Ano. Záporné hodnoty představují data před epochou. Například −86400 odpovídá 1969-12-31T00:00:00Z, přesně jeden den před epochou.

Zohledňuje nástroj přestupné sekundy?

Ne, což odpovídá standardu POSIX. Čas POSIX předpokládá, že každý den má přesně 86 400 sekund. 27 přestupných sekund vložených od roku 1972 není individuálně reprezentováno, což znamená, že UTC a Unixový čas se mohou v okamžiku přestupné sekundy lišit až o jednu sekundu.

Co je problém roku 2038?

Systémy ukládající Unixový čas jako 32bitové celé číslo se znaménkem přetečou 19. ledna 2038 v 03:14:07 UTC, čímž se změní na velké záporné číslo a zobrazí data z roku 1901. Většina moderních platforem používá 64bitová časová razítka, která nepřetečou dříve než za 290 miliard let.

Autor Jan Křenek Zakladatel a hlavní vývojář
Odborná revize Revize metodiky DigitSum Ověřování vzorců a QA
Naposledy aktualizováno 10. 3. 2026

Používejte jako odhad a důležitá rozhodnutí konzultujte s kvalifikovaným odborníkem.

Vstupy zůstávají v prohlížeči, pokud vás budoucí funkce výslovně neinformuje jinak.