Živý unixový čas

1755840629

Sekundy od Unixového epochu (00:00:00 UTC 1. ledna 1970)

Co je Unix Time?

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.

Problém roku 2038

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.

Přestupné sekundy a Unix Time

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ý.

Běžné použití Unix času

  • Časové razítko souboru: Operační systémy používají Unixové časové razítko k zaznamenání, kdy byly soubory vytvořeny, upraveny nebo naposledy otevřeny.
  • Databáze: Je to běžný a efektivní způsob ukládání data a času u záznamů (například created_at, updated_at).
  • API a webový vývoj: Používá se pro vypršení relace, řízení cache a zaznamenávání API požadavků.
  • Programování: Téměř každý programovací jazyk poskytuje funkce pro získání aktuálního Unixového časového razítka a jeho převod na a z čitelného formátu data.

Čas nyní v tato města:

Šanghaj · Peking · Dháka · Káhira · Shenzhen · Guangzhou · Lagos · Kinshasa · Istanbul · Tokio · Čeng-ťiou · Mumbaj

Čas nyní v zemích:

🇨🇳 Čína | 🇮🇳 Indie | 🇺🇸 Spojené státy | 🇮🇩 Indonésie | 🇵🇰 Pákistán | 🇧🇷 Brazílie | 🇳🇬 Nigérie | 🇧🇩 Bangladéš | 🇷🇺 Rusko | 🇯🇵 Japonsko |

Měna časová pásma:

UTC | GMT | CET | PST | MST | CST | EST | EET | IST | Čína (CST) | JST | AEST | SAST | MSK | NZST |

Zdarma widgety pro webové mistry:

Zdarma analogový widget hodin | Zdarma digitální hodiny widget | Zdarma textové hodiny widget | Zdarma slovní hodiny widget