Převodník Unix časových razítek
Převod časového razítka na datum
Sekundy nebo milisekundy jsou detekovány automaticky.
Datum na časové razítko
Vyberte datum a čas pro převod na Unix timestamp.
Sekundy od Unixového epochu (00:00:00 UTC 1. ledna 1970)
Sekundy nebo milisekundy jsou detekovány automaticky.
Vyberte datum a čas pro převod na Unix timestamp.
Stejný aktuální okamžik vyjádřený v několika běžných formátech, aktualizovaný živě:
| Formát | Aktuální hodnota |
|---|---|
| Unix timestamp (v sekundách) | — |
| Unix timestamp (milisekundy) | — |
| ISO 8601 (UTC) | — |
| RFC 2822 (UTC) | — |
Unix čas (také známý jako Epoch time, POSIX time nebo Unix timestamp) je systém pro popisování okamžiku v čase. Je to počet sekund, které uplynuly od Unix Epochu, což je definováno jako 00:00:00 UTC ve čtvrtek 1. ledna 1970. Je široce používán v operačních systémech podobných Unixu a v mnoha dalších výpočetních systémech.
Hlavní výhodou Unix času je jeho jednoduchost. Představuje čas jako jedno, univerzálně pochopitelné celé číslo, které se neustále zvyšuje. To činí jeho ukládání, porovnávání a výpočty s časovými razítky extrémně jednoduchými, bez starostí o časová pásma, letní čas nebo různé kalendářní systémy. Například, pro zjištění délky mezi dvěma událostmi jednoduše odečtete jejich Unixová časová razítka.
Ačkoliv je toto surové číslo ideální pro počítače, není příliš přátelské pro lidi. Aby se tento rozdíl překlenul, vývojáři a technologičtí nadšenci používají nástroj zvaný konvertor epoch. Můžete jej použít k okamžitému převodu jakéhokoliv časového razítka na čitelný datum nebo naopak, najít časové razítko pro konkrétní datum.
Dobře známý problém související s Unix časem je "Problém roku 2038". Je podobný problému Y2K. Mnoho starších počítačových systémů bylo navrženo tak, aby ukládaly Unixové časové razítko jako 32bitové znaménkové celé číslo. Znaménkové 32bitové celé číslo může reprezentovat hodnoty od -2 147 483 648 do 2 147 483 647.
Maximální hodnota, 2 147 483 647, bude dosažena ve 03:14:07 UTC dne 19. ledna 2038. V následující sekundě přeteče celé číslo a zabalí se zpět na nejnižší hodnotu, kterou systémy budou interpretovat jako datum v roce 1901. To by mohlo způsobit rozsáhlé selhání staršího softwaru, který spoléhá na 32bitové časové reprezentace.
Řešením je použití 64bitového celého čísla pro uložení časového razítka. 64bitové celé číslo má maximální hodnotu tak velkou, že nepřeteče přibližně za 292 miliard let, což efektivně řeší problém na dlouhou dobu dopředu. Většina moderních operačních systémů a softwaru již přešla na 64bitové časové reprezentace.
Důležitý technický detail je, že Unix čas nezohledňuje přestupné sekundy. Zatímco UTC (Koordinovaný světový čas) občas přidá přestupnou sekundu, aby udržel synchronizaci s rotací Země, Unix timestamp je jednoduše ignoruje a pokračuje v počítání lineárně.
To znamená, že Unix čas není skutečným zobrazením UTC. Spíše je přesnější popsat jej jako lineární počet sekund. Když nastane přestupná sekunda, Unix čas někdy opakuje sekundu, aby zůstal synchronizován. Tato nuance je klíčová pro vědecké a vysoce přesné aplikace, ale pro většinu běžného výpočetního použití je rozdíl zanedbatelný.
created_at, updated_at).
Unixová epocha je okamžik, kdy začíná čas pro Unixové systémy: 00:00:00 UTC 1. ledna 1970. Unixový timestamp je jednoduše počet sekund, které uplynuly od tohoto okamžiku.
Toto datum bylo vybráno ranými vývojáři Unixu jako vhodný, zaokrouhlený počáteční bod blízký době vzniku systému na počátku 70. let 20. století. Od té doby je standardním referenčním bodem.
Unix čas je počítán od epochy definované v UTC a je nezávislý na časových pásmech, takže stejný časový údaj znamená stejný okamžik kdekoliv na světě. Jelikož ignoruje přestupné sekundy, je nejlépe popsán jako lineární počet sekund, nikoli dokonalá reprezentace UTC.
Standardní Unixový časový otisk počítá celé sekundy od epochy, což je u současných dat 10 číslic. Mnoho systémů, včetně JavaScriptu, počítá milisekundy, čímž vzniká hodnota 1 000krát větší se 13 číslicemi.
Systémy, které ukládají časové razítko jako 32bitové celé číslo se znaménkem, mohou počítat pouze do 03:14:07 UTC dne 19. ledna 2038, poté hodnota přeteče a je chybně interpretována jako datum v roce 1901. Řešením je ukládat časové razítko jako 64bitové celé číslo.