Timp Unix live

1755191006

Secunde de la Epoch-ul Unix (00:00:00 UTC pe 1 ianuarie 1970)

Ce este timpul Unix?

Timpul Unix (cunoscut și ca Epoch time, POSIX time sau timestamp Unix) este un sistem pentru descrierea unui punct în timp. Este numărul de secunde care au trecut de la Epoch-ul Unix, definit ca 00:00:00 UTC joi, 1 ianuarie 1970. Este utilizat pe scară largă în sistemele de operare de tip Unix și în multe alte sisteme informatice.

Principalul avantaj al timpului Unix este simplitatea sa. Reprezintă timpul ca un întreg unic, universal înțeles, care crește în mod continuu. Acest lucru îl face incredibil de ușor de stocat, comparat și de efectuat calcule cu marcaje temporale fără a vă face griji despre fusurile orare, ora de vară sau diferite sisteme de calendar. De exemplu, pentru a găsi durata dintre două evenimente, pur și simplu scădeți marcajele temporale Unix.

În timp ce acest număr brut este perfect pentru calculatoare, nu este foarte prietenos pentru oameni. Pentru a reduce această diferență, dezvoltatorii și entuziaștii tehnici folosesc un instrument numit convertor de epoch. Îl puteți folosi pentru a converti instantaneu orice marcaj temporal într-o dată lizibilă pentru oameni sau pentru a face invers, găsind marcajul temporal pentru o dată specifică.

Problema Anului 2038

O problemă bine cunoscută legată de timpul Unix este "Problema Anului 2038". Este similară cu problema Y2K. Multe sisteme de calcul timpurii au fost proiectate pentru a stoca marcajul temporal Unix ca un număr întreg semnat pe 32 de biți. Un număr întreg semnat pe 32 de biți poate reprezenta valori de la -2.147.483.648 până la 2.147.483.647.

Valoarea maximă, 2.147.483.647, va fi atinsă la 03:14:07 UTC pe 19 ianuarie 2038. La următoarea secundă, numărul întreg va depăși limita și se va învârti înapoi la cea mai negativă valoare, care va fi interpretată de sisteme ca o dată din 1901. Acest lucru ar putea cauza eșecuri răspândite în software-ul vechi care se bazează pe reprezentări de timp pe 32 de biți.

Soluția este utilizarea unui număr întreg pe 64 de biți pentru a stoca marcajul temporal. Un număr întreg pe 64 de biți are o valoare maximă atât de mare încât nu va depăși limita timp de aproximativ 292 de miliarde de ani, rezolvând efectiv problema pentru viitorul previzibil. Majoritatea sistemelor de operare și software-urilor moderne au trecut deja la reprezentări de timp pe 64 de biți.

Secunde intercalare și Timp Unix

Un detaliu tehnic important este că timpul Unix nu ține cont de secunde intercalare. În timp ce UTC (Timpul Universal Coordonat) adaugă ocazional o secundă intercalară pentru a menține ceasurile noastre aliniate cu rotația Pământului, marcajul temporal Unix le ignoră pur și simplu și continuă să numere liniar.

Aceasta înseamnă că timpul Unix nu este o reprezentare adevărată a UTC. În schimb, este mai precis descris ca un număr liniar de secunde. Când are loc o secundă intercalară, timpul Unix uneori repetă o secundă pentru a rămâne sincronizat. Această nuanță este critică pentru aplicațiile științifice și de înaltă precizie, dar pentru majoritatea calculului general, diferența este neglijabilă.

Utilizări comune ale timpului Unix

  • Marcaje temporale ale fișierelor: Sistemele de operare folosesc marcaje temporale Unix pentru a urmări când fișierele au fost create, modificate sau accesate ultima dată.
  • Baze de date: Este o metodă comună și eficientă de a stoca informații despre dată și oră pentru înregistrări (de exemplu, created_at, updated_at).
  • API-uri și Dezvoltare Web: Folosit pentru expirarea sesiunilor, controlul cache-ului și înregistrarea cererilor API.
  • Programare: Practically toate limbajele de programare oferă funcții pentru a obține marcajul temporal Unix curent și pentru a-l converti din și în formate de dată lizibile pentru oameni.

Ora actuală în aceste orașe:

New York · Londra · Tokyo · Paris · Hong Kong · Singapore · Dubai · Los Angeles · Shanghai · Beijing · Sydney · Mumbai

Ora actuală în țări:

🇺🇸 Statele Unite | 🇨🇳 China | 🇮🇳 India | 🇬🇧 Regatul Unit | 🇩🇪 Germania | 🇯🇵 Japonia | 🇫🇷 Franța | 🇨🇦 Canada | 🇦🇺 Úc | 🇧🇷 Brazilia |

Ora actuală în fusuri orare:

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

Gratuit widget-uri pentru webmasteri:

Widget gratuit pentru ceas analogic | Widget de ceas digital gratuit | Widget de ceas text gratuit | Widget de ceas cu cuvinte gratuit