Unixový čas

Unixový čas je systém pro označení časových okamžiků. Systém identifikuje časové okamžiky pomocí počtu sekund uplynulých od okamžiku koordinovaného světového času (UTC) 00:00:00 1. ledna 1970, ale bez započítání přestupných sekund. Unixový čas je používán zejména v operačních systémech založených na Unixu, ale i v dalších operačních systémech a souborových formátech.

Ignorování přestupných sekund znamená, že unixový čas není ani lineární reprezentací času, ani přesnou reprezentací koordinovaného světového času.

Zjistit aktuální unixový čas lze na většině unixových systémů zadáním date +%s do příkazového řádku.

Definice

Kódování unixového času je užitečné abstrahovat do dvou vrstev. První vrstva kóduje časové okamžiky jako skalární reálné číslo, druhá kóduje toto číslo do posloupnosti bitů nebo desítkových číslic.

Unixový čas přejímá standardy UTC, označuje data podle gregoriánského kalendáře a rozděluje čas dne do hodin, minut a sekund. Na rozdíl od UTC nezohledňuje přestupné sekundy, tím pádem ztrácí synchronicitu se zemskou rotací – tuto vlastnost přebírá od Mezinárodního atomového času (TAI). Rotace Země se totiž zpomaluje, proto by bylo k udržení synchronicity nutné přičíst zhruba sekundu každý rok a půl.

Unixový čas je celé číslo, které narůstá o jednu jednotku každou sekundu (kromě přestupných sekund, kdy se neinkrementuje), funguje tedy bez členění na roky, měsíce nebo dny, které jsou obvyklé při vyjadřování času lidmi.

Unixová epocha (též éra) je stanovena na 00:00:00 UTC 1. ledna 1970 (neboli 1970-01-01T00:00:00Z ISO 8601). Problémem této definice je, že UTC v současné formě existuje až od roku 1972.

Reference

V tomto článku byl použit překlad textu z článku Unix time na anglické Wikipedii.