Převod mezi Unix timestamp a datem
Epoch čas vysvětlený pro vývojáře i zvídavé
Unix timestamp (také epoch čas) je počet sekund, které uplynuly od 1. ledna 1970 00:00:00 UTC – okamžiku známého jako Unix epoch. Jde o nejuniverzálnější způsob, jak v informatice vyjádřit okamžik v čase. Proč rok 1970? Operační systémy Unix vznikaly koncem 60. a začátkem 70. let. 1. leden 1970 byl zvolen jako praktický referenční bod – tehdy nedávné datum, které poskytovalo dlouhý použitelný rozsah. Milisekundy vs. sekundy: JavaScript používá milisekundy (sekundy vynásobte 1000), zatímco příkazy Unix/Linux a většina databází používají sekundy. Při práci s timestampy si vždy ověřte, jaká jednotka se očekává – je to častý zdroj chyb. Problém roku 2038: 32bitové systémy ukládají Unix timestamp jako celé číslo se znaménkem, které dosáhne maxima 19. ledna 2038 ve 03:14:07 UTC. Moderní 64bitové systémy tento problém nemají a dokážou vyjádřit data miliardy let do budoucnosti. Běžné použití: odpovědi API, databázové záznamy, logy, časy změny souborů, autentizační tokeny (expirace JWT), hlavičky pro cache a všude tam, kde je potřeba formát času nezávislý na jazyce.
Další užitečné nástroje pro výpočty s datem a časem
Co je Unix timestamp? Počet sekund od 1. ledna 1970 00:00:00 UTC. Hojně se používá v programování.
Timestamp → datum a datum → timestamp
Okamžitě získáte aktuální timestamp
Přesný převod včetně hodin a minut
Pro API, databáze a analýzu logů
O Unix timestamp
Počet sekund od 1. ledna 1970 00:00:00 UTC (Unix epoch).
Pro ukládání času nezávisle na časovém pásmu. Běžně se používá v API, databázích a při komunikaci mezi systémy.
Ano, záporné timestampy se používají pro data před 1. lednem 1970.
Na 32bitových systémech timestamp 19. ledna 2038 přeteče. 64bitové systémy tento problém řeší.
Unix timestamp je v sekundách, JavaScriptové Date.now() vrací milisekundy. Pro převod milisekund na sekundy vydělte hodnotu 1000.