SIMETRIUM .COM
mez 2 147 483 647 · 19. 1. 2038
36 jazyků
Symbol plate INT32
unix 2147483647 MAX
unix malými písmeny, epoch time je totéžneplést s TAI ani MJD
List jednotky počítání sekund · zápis ISO 8601 list 1/1 · rev. 2026-09

Unixový čas a zápis ISO 8601

Jednotka mimo SI · veličina: okamžik jako celý počet sekund od roku 1970

Devatenáctého ledna 2038 ve tři hodiny čtrnáct minut a sedm sekund světového času dojde třicetidvoubitový čítač sekund k hodnotě 2 147 483 647 — největšímu číslu, jaké dokáže pojmout. Další takt zdvihne nejvyšší bit a totéž binární slovo se napříště přečte jako záporné: hodiny, které vedou čas právě tímto počítáním, se neocitnou v roce 2038, nýbrž v prosinci 1901. Kuriozitou vzdálené budoucnosti to není — průmyslový regulátor či vodoměr slouží déle než těch dvanáct let, jež zbývají.

Počítání je vystavěno nanejvýš prostě: sekundy běží za sebou od půlnoci prvního ledna 1970 a den v něm obsahuje vždy přesně 86 400 sekund. Právě prostota je zdrojem obou jeho zvláštností. Na jedné straně z čísla okamžitě plyne kalendářní datum a naopak, takže každý záznam událostí, každá databáze a každý souborový systém vede čas právě jím. Na druhé straně přestupnou sekundu v takovém počítání nelze vyjádřit vůbec, což znamená, že navzdory jménu nečísluje sekundy, nýbrž dny se zlomky, a je ve skutečnosti lineární funkcí zápisu UTC, nikoli čítačem uplynulého času.

Označení unix time · epoch time
Jednotka počítání sekunda SI
Počátek počítání 1970-01-01T00:00:00Z
Sekund na den počítání přesně 86 400 s, bez přestupných sekund
Mez třiceti dvou bitů 2038-01-19T03:14:07Z
Překladů hotovo / 36
01 · Definice

Unixový čas je počet sekund, jež uplynuly od půlnoci prvního ledna 1970 světového koordinovaného času, za předpokladu, že každý den drží přesně 86 400 sekund. Zápis ISO 8601 zadává totéž jinak: kalendářním datem, denní dobou a údajem o posunu od nultého poledníku, přičemž pole běží přísně od hrubého k jemnému.

Výhrada o 86 400 sekundách není maličkost, nýbrž to nejpodstatnější v definici. Přestupnou sekundu, kterou vyhlašuje služba rotace Země, počítání pojmout nedokáže, a proto systém v okamžiku vložení buď opakuje jednu a touž hodnotu dvakrát, nebo posune hodiny zpět. Z toho plyne důležité: rozdíl dvou unixových čísel není počtem sekund, jež mezi dvěma událostmi skutečně uplynuly, pokud mezi ně padla přestupná sekunda — odchylka od atomové stupnice narostla už na dvacet sedm sekund.

Mez naproti tomu nezávisí na definici, nýbrž na šířce uložení. Třicet dva bitů se znaménkem dává největší hodnotu 2 147 483 647, jež připadá na devatenáctého ledna 2038; další přírůstek převede nejvyšší bit na jedničku a učiní číslo záporným, čímž hodiny odhodí ke třináctému prosinci 1901. Šedesát čtyři bitů odsouvá hranici o dvě stě devadesát dva miliard let vpřed, avšak celé nanosekundy v týchž šedesáti čtyřech bitech dojdou už roku 2262.

Zápis podle normy řeší jinou úlohu — výměnu, nikoli uložení — a proto v něm váží věci, jež číslo vůbec nemá: hodinový posun, oddělovač mezi datem a časem a pravidlo, že při stejné délce řetězce se lexikografické pořadí shoduje s časovým. Právě tato poslední vlastnost učinila z formátu základ třídění v názvech souborů a v záznamech.

Formálně t — unixový čas, N — šířka celého čísla se znaménkem, JD — juliánské datum
Počítání od epochy
t = 86 400 · (JD − 2 440 587,5)
Mez šířky slova
t(max) = 2^(N−1) − 1
Přetečení
t' = ((t + 2^31) mod 2^32) − 2^31
Dny a zbytek
D = ⌊t / 86 400⌋, r = t mod 86 400
T
rozměr: počítání sekund měří čas
86 400
sekund na den počítání — vždy, bez výjimky
2³¹
hranice, za níž se celé číslo se znaménkem láme
Interaktivně · třicet dva bitů do selhání

Veďte čas jezdcem a sledujte, jak se registr plní: bity se rozsvěcují zprava doleva, a dokud nejvyšší, znaménkový, zůstává tmavý, je číslo kladné a datum roste. Jakmile čítač překročí 2 147 483 647, nejvyšší bit vzplane rudě, celé číslo se stane záporným a hodiny skočí do roku 1901.

bit 31 — znaménkobit 0
okamžik, rok
počítání sekund
co leží ve 32 bitech
jak to systém přečte

Rovná čára a ta, která klopýtá

Zelená přímka je atomová stupnice, kde každá sekunda je opravdu sekundou. Červená schodovitá je unixový čas, který při každém vložení vydá jednu a touž značku dvakrát, pročež čára ustrne na místě. Odchylka činí už dvacet sedm sekund a roste, a proto se počítání hodí ke kalendářnímu datu, nikoli však k měření trvání ve fyzice.

02 · Převod

Zadejte časovou značku nebo datum

Mezi všemi násobky počítání — sekundami, milisekundami, mikro- a nanosekundami — jsou převody přesné, neboť se liší pouze činitelem. Přibližný je jediný řádek: převod na atomovou stupnici vyžaduje vědět, kolik přestupných sekund se k danému okamžiku nashromáždilo.

Rozbor řetězce podle normy provádí list v rozšířeném zápisu s písmenem Z; základní tvar bez oddělovačů je vynesen do jemných nastavení.

Problém roku 2038 neleží v normě, nýbrž v technice a ve starém kódu: třicetidvoubitové značky sedí ve firmwaru měřidel, v průmyslových regulátorech, ve formátech souborových systémů a v databázích, kde je pole už vyhlášeno čtyřmi bajty. Změnit typ ve zdrojích je dost snadné; projít miliony instalovaných zařízení ve zbývajících dvanácti letech je úloha téhož druhu jako ta, jež stála před rokem 2000.

Převodní tabulka
HodnotaPoznámka
Zápis podle normy
Ve 32 bitech
Epocha

03 · Řády veličin
logaritmická stupnice: od sekundy k mezi šedesáti čtyř bitů

interval v sekundách
Světlý pruh je to, co pojme třicetidvoubitové číslo se znaménkem: od jedné sekundy k mezi 2 147 483 647, vyznačené vpravo červenou hranicí. Vše za ní vyžaduje šedesát čtyři bitů, a tam se zásoba stává výsměšně velkou — dvě stě devadesát dva miliard let, tedy dvacetkrát více než stáří vesmíru.
04 · Měřicí přístroje

Čím se událost opatřuje značkou

hodiny desky · NTP · záznam · zkušební stolice
Hodiny reálného času

Zvláštní čip s baterií, který vede počítání, dokud je zařízení vypnuto. Uchovává obvykle nikoli unixovou značku, nýbrž kalendářní pole zvlášť, a šířka jeho pole roku je vlastní, takže u starých desek začíná řeč o roce 2038 otázkou, do kterého roku počítá sám čip.

Síťová synchronizace

Protokol NTP přivádí hodiny stroje ke společnému času s přesností na jednotky milisekund a týž protokol varuje před vložením zvláštním příznakem den předem. Vlastní mez má rovněž, a nastává dříve: počítá se od roku 1900 v bezznaménkových třiceti dvou bitech a přeteče v únoru 2036.

Záznam událostí

Do záznamu se značka píše buď číslem, nebo řetězcem podle normy, a druhé je vhodnější přesně z jednoho důvodu: u řetězců stejné délky se abecední pořadí shoduje s časovým, takže se položky třídí bez rozboru data. Právě proto se formát rozšířil daleko za hranice výpočetní techniky.

Stolice s posunutými hodinami

Připravenost přístroje na rok 2038 lze ověřit jediným způsobem — posunout na něm hodiny za osudnou hranici a podívat se, co se stane se záznamy, s certifikáty a s počítáním intervalů. Takto se už našla selhání v účtování, v systémech řízení přístupu a v dobách platnosti klíčů, kde datum v budoucnosti vzniká sčítáním a přetéká dlouho před samotnou hranicí.

05 · Pravidla zápisu

Od hrubého k jemnému, a vždy s posunem

Norma žádá sestupné pořadí polí, čtyři číslice roku, spojovník jako oddělovač data a písmeno T před časem; hodinový posun se uvádí buď písmenem Z pro nultý poledník, nebo jako plus-minus hodiny a minuty. Unixová značka se píše celým číslem bez oddělování řádů a násobek je nutno vždy upřesnit, neboť tisícina odlišuje sekundy od milisekund a podle velikosti čísla je lze snadno zaměnit.

Správně
2026-09-02T14:30:00Z
2026-09-02T17:30:00+03:00
2026-W36-3 · 2026-245
1788359400 s · 1788359400000 ms
Chybně
02.09.2026 14:30
2026-09-02 14:30:00
2026-9-2T14:30:00Z
unix 1788359400 = 1788359400 s TAI

První zápis se v různých zemích čte různě a je proto ve výměně dat nepřípustný. Druhý vypouští jak oddělovač, tak posun, takže okamžik zůstává neurčen o den na obě strany. Třetí ztrácí úvodní nuly, pročež se řetězce přestávají třídit abecedně — a právě pro tuto vlastnost se formát cení. Čtvrtý klade rovnítko mezi unixové počítání a atomovou stupnici, ačkoli mezi nimi leží dvacet sedm sekund nashromážděných vložení.

06 · Sousední jednotky

Vedle stojí všechna počítání vystavěná podle téhož principu, avšak od jiného počátku: čas NTP od roku 1900, juliánské datum od poledne roku 4713 před naším letopočtem, stupnice družicového systému od ledna 1980. Liší se pouze epochou a jednotkou, a proto se převádějí odečtením konstanty.

unix
od roku 1970
sekundy se znaménkem
NTP
od roku 1900
jeho mez padá už na rok 2036
TAI-64
atomové sekundy
přestupné sekundy počítány poctivě
Juliánské datum
JD = t / 86 400 + 2 440 587,5
Čas NTP
t(NTP) = t + 2 208 988 800
Atomová stupnice
TAI = t + 10 + počet přestupných sekund od roku 1972

Z listů Simetria vedle stojí juliánské datum, odkud je převodní konstanta vzata, stupnice UTC, TAI a UT1, které vysvětlují chybějící přestupné sekundy, sekunda jako jednotka počítání, a bit, jehož šířka mez určuje.

07 · Historický oddíl

Epocha zvolená z nedostatku bitů

archiv · 1971 → 2038
1971 · Murray Hill
Počítání tiků, které vydrželo dobré dva roky

V první příručce k Unixu se čas počítal v šedesátinách sekundy od počátku roku 1971 a ve třiceti dvou bitech pojalo takové počítání pouhé dobré dva roky. Docházely tak rychle, že by se epocha musela posouvat při každém vydání systému, a od zlomků sekundy se upustilo ve prospěch celých.

60 tiků za sekundu
1973 · volba nuly
Kulatý rok místo kulatého data

Přechodem k celým sekundám získali vývojáři zásobu sto třiceti šesti let a mohli zvolit počátek podle pohodlí, nikoli z nouze. Vzali první leden 1970 — nejbližší kulaté datum v minulosti, k němuž strojové záznamy stejně nesahaly — a od té doby jej ani jednou nezměnili, ačkoli byl systém nejednou přepsán od základů.

epoch = 1970-01-01
1988 · Ženeva
Norma pro zápis data

Mezinárodní organizace pro normalizaci svedla rozbíhající se národní formáty v jeden a položila mu za základ prosté pravidlo: pole běží od hrubého k jemnému, všechna s úvodními nulami. Vedlejší následek se ukázal důležitější než záměr — takové řetězce se třídí jako čísla a formát se rozšířil do názvů souborů, záznamů a výměnných protokolů.

ISO 8601, dnes -1 a -2
2038 · 19. ledna
03:14:07 a sekunda poté

Stolní a serverové systémy přešly na šedesát čtyři bitů dávno a tam je hranice odsunuta za každý rozumný obzor. Nebezpečí zůstalo jinde: ve firmwaru přístrojů s dvacetiletou životností, ve formátech souborů, kde je pole vyhlášeno čtyřmi bajty, a ve výpočtech budoucích lhůt, jež přetékají už dnes, jakmile se k dnešnímu datu přičte patnáct let.

→ 1901-12-13T20:45:52Z
Pole o čtyřech bajtech: šířka je ve formátu vyhlášena jednou a přežije každý kód
Metrologická poznámka

Počítání, které navzdory jménu sekundy nepočítá

Definice unixového času zní jako počítání sekund, avšak požadavek rovných 86 400 sekund za den z ní činí něco jiného: lineární funkci zápisu UTC, nikoli míru uplynulého času. Pokaždé, když služba rotace Země vyhlásí vložení, musí počítání zopakovat jednu a touž hodnotu dvakrát nebo skočit zpět, a rozdílu dvou značek se právě ta sekunda ztrácí. Za půl století se takových ztrát nashromáždilo dvacet sedm, a proto se v úlohách, kde je třeba skutečné trvání, bere atomová stupnice, nikoli tato.

Druhá zvláštnost neleží vůbec v definici, nýbrž ve způsobu uložení, a to z ní činí jedinou mez v našem katalogu, kterou nestanovila příroda ani dohoda, nýbrž šířka strojového slova. Juliánské datum nekončí nikdy, protože je číslem; unixový čas končí devatenáctého ledna 2038, protože je polem o čtyřech bajtech. Rozdíl mezi veličinou a jejím zobrazením zaměstnává metrology obvykle málo, a zde právě on rozhoduje o všem.

Nejvyšší bit vzplane — a celé datum se obrátí v záporné číslo
Katalog · měřicí jednotky

List pro každou veličinu

Sedm základních jednotek SI, dvaadvacet odvozených s vlastními jmény a veličiny mimo soustavu, bez nichž by nefungovala ani technika, ani kalendář.

7
základních
22
odvozených
36
jazyků

Čas, stupnice a strojové počítání

otevřený datový list je zvýrazněn

Základní jednotky SI

zvýrazněna je sekunda — jednotka tohoto počítání

Epochy a meze

odkud se počítá a kam až
08 · Váš jazyk
každý odkaz vede na skutečnou jazykovou stránku

Čtěte ve svém jazyce

přeloženo a zkontrolováno hrubý překlad ve frontě