Salt la conținut
Quaestio

Marcaj de timp Unix

Introdu un marcaj de timp și apare momentul sau introdu o dată și apare numărul.

Marcajul de timp chiar acum

–

Secunde, milisecunde sau microsecunde. Numerele negative merg înainte de 1970.

  • UTCjoi, 4 septembrie 2025 la 15:33:20
  • Ora ta–
  • ISO 86012025-09-04T15:33:20Z
  • În secunde1757000000
  • În milisecunde1757000000000

Scrie ca 2026-09-12 sau 2026-09-12T14:30. Fără fus orar este citită ca UTC.

1789214400

Repere

NumărMoment
Începutul epocii1970-01-01T00:00:00Z
Un miliard de secunde2001-09-09T01:46:40Z
Unde se termină cei treizeci și doi de biți2038-01-19T03:14:07Z
Două miliarde de secunde2033-05-18T03:33:20Z

Timpul Unix nu numără secundele intercalate. O zi Unix are întotdeauna exact 86.400 de secunde.

Încorporează

Încorporează instrumentul pe site-ul tău

Copiază codul și lipește-l acolo unde vrei să apară instrumentul, de exemplu într-un articol de blog sau pe pagina unei școli. Este gratuit, caseta nu are reclame, iar instrumentul calculează în browserul vizitatorului.

Cum funcționează

Timpul Unix este numărul de secunde de la 1 ianuarie 1970, în UTC. Punctul zero a fost ales pentru că era convenabil de aproape de momentul introducerii măsurii, nu pentru că ar însemna ceva în sine.

Măsura nu numără secundele intercalate. O zi Unix are întotdeauna exact 86.400 de secunde, chiar și în zilele în care UTC a primit o secundă în plus. Asta ține calculele simple, iar timpul Unix urmează totuși data și ora UTC. Dar diferența dintre două marcaje de timp nu este întotdeauna timpul care a trecut cu adevărat. Din 1972 au fost adăugate 27 de secunde intercalate, pe care timpul Unix nu le numără. Pentru orice în afară de navigația prin satelit, nu contează.

Unitatea este ghicită după mărimea numărului. Tot ce este sub zece miliarde este citit ca secunde, ceea ce ajunge până în anul 2286, iar numerele mai mari ca milisecunde sau microsecunde. Limita este pusă acolo ca un an apropiat de prezent să fie citit corect.

Numerele negative merg înapoi, înainte de 1970, și funcționează la fel.

Un contor pe 32 de biți cu semn se epuizează pe 19 ianuarie 2038 la 03:14:07 UTC, după care sare înapoi în 1901. Aceasta este problema anului 2038, același tip de defect ca problema anului 2000, dar în binar. Sistemele care numără pe 64 de biți nu sunt afectate.

O dată fără fus orar în text este citită ca UTC, așa că același text dă întotdeauna același număr, oriunde ar fi citit.

Cum este citit numărul

Spațiile și liniuțele de subliniere din număr sunt eliminate. Fără o unitate aleasă, decide mărimea: sub zece miliarde numărul este citit ca secunde, de la zece miliarde ca milisecunde, iar de la o sută de mii de miliarde ca microsecunde. Din cauza acestor praguri, o valoare în milisecunde de dinainte de 26 aprilie 1970 și una în microsecunde de dinainte de 3 martie 1973 sunt citite în unitatea greșită. Nanosecundele nu sunt o unitate: 1.757.000.000.000.000.000 de nanosecunde, adică 4 septembrie 2025, sunt citite ca microsecunde și ajung în anul 57647. Taie atunci ultimele trei cifre. Potrivit standardului ECMAScript, calendarul browserului merge 100 de milioane de zile în fiecare parte de 1970, până la 13 septembrie 275760, iar numerele din afara acestui interval dau un mesaj de eroare.

Exemplu: unde se termină cei 32 de biți

2³¹ − 1 = 2.147.483.647 este cel mai mare număr pe care îl poate ține un contor pe 32 de biți cu semn. O secundă mai târziu, un astfel de contor ajunge la −2.147.483.648, pe care instrumentul îl arată ca 13 decembrie 1901, ora 20:45:52 UTC. Momentele din afara acestor două limite primesc un avertisment: 2.147.483.648 îl declanșează, 2.147.483.647 nu.

Date scrise ca text

În JavaScript, 2026-09-12T14:30 este citit ca oră locală, dar 2026-09-12 ca UTC, potrivit standardului ECMAScript. Instrumentul le citește pe amândouă ca UTC, așa că 2026-09-12T14:30 dă întotdeauna 1.789.223.400. Fracțiunile de secundă sunt rotunjite în jos la secunda întreagă.

Datele care nu există sunt respinse: 2026-02-30 dă un mesaj de eroare, în timp ce Date din V8, motorul din Chrome și Edge, îl transformă fără avertisment în 2 martie. 24:00 este acceptat ca sfârșit al zilei, cum permite ECMAScript.

Secundele intercalate și timpul de dinainte de 1970

POSIX definește secundele de la Epoch printr-o formulă și spune că relația cu ora UTC reală nu este specificată. ECMAScript spune că nu există nicio valoare de timp pentru un moment din interiorul unei secunde intercalate. De aceea 2016-12-31T23:59:60Z, cea mai recentă secundă intercalată, dă mesajul de eroare că ora nu există, în timp ce secunda dinainte dă 1.483.228.799, iar miezul nopții de după 1.483.228.800. Potrivit IERS, diferența dintre timpul atomic, TAI, și UTC era de 10 secunde în 1972 și este de 37 de secunde din 1 ianuarie 2017. Buletinul C 72 al IERS anunță că nu se va adăuga nicio secundă intercalată la sfârșitul lui decembrie 2026.

Pentru numerele negative, POSIX lasă relația nedefinită. Instrumentul urmează ECMAScript, care numără înapoi cu calendarul gregorian chiar și înainte de introducerea lui.

Surse

Cum sunt verificate instrumentele