Převodník času Epoch
Převádějte Unixové časové značky na UTC data nebo převeďte datum na sekundy epochy.
Jak používat tento převodník epoch času
- Vyberte režim převodu
V poli Režim převodu vyberte Epoch na datum nebo Datum na epoch.
- Pro převod epoch na datum
Do pole Unix timestamp (sekundy) zadejte Unix časové razítko v sekundách.
- 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).
- Přečtěte si výsledek
Kalkulačka zobrazuje hodnotu UTC, Unix milisekundy a den v týdnu.
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.
Unixový čas = sekundy uplynulé od 1970-01-01T00:00:00Z 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.
- ✓ 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.
- 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.
- IEEE Std 1003.1 (POSIX) — definice sekund od počátku epochy
- Původ Unixové epochy — dokumentace The Unix Heritage Society a Bell Labs
- 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.