Ghid pentru Convertorul de timestamp
Cum citește Convertorul de timestamp de la XGM secunde și milisecunde Unix, date ISO 8601 și RFC 2822, cum le convertește între fusuri orare și ce erori evită.
Ce este un timestamp Unix
Timpul Unix este numărul de secunde scurse de la epoca Unix, 1970-01-01 00:00:00 UTC, fără a număra secundele de salt. Este un singur număr, fără fus orar, ceea ce îl face comod pentru a stoca și a compara momente. 1789462800 este aceeași clipă oriunde în lume; diferă doar ora arătată de ceasul local. Sortarea rândurilor dintr-o bază de date, a liniilor de jurnal sau a expirărilor de token după acest singur număr este mai rapidă și mai puțin expusă greșelilor decât analiza unor șiruri de dată.
Sistemele diferite numără în unități diferite. API-urile Unix clasice și claim-urile JWT folosesc secunde, Date.now() din JavaScript returnează milisecunde, iar unele baze de date și limbajul Go folosesc microsecunde sau nanosecunde. Confuzia dintre ele este una dintre cele mai frecvente erori legate de dată: o valoare în milisecunde citită ca secunde ajunge la zeci de mii de ani în viitor. Greșeala inversă este mai discretă: secundele scrise într-un câmp care așteaptă milisecunde adună toate înregistrările în primele zile ale anului 1970.
Cum folosiți Convertorul de timestamp
- Deschideți Convertorul de timestamp și introduceți un timestamp Unix sau o dată; lăsați câmpul gol pentru ora curentă.
- Verificați unitatea recunoscută, apoi momentul în UTC și în propriul dumneavoastră fus orar.
- Alegeți alt fus orar ca să vedeți ora locală de acolo, de exemplu pentru o ședință sau pentru cronologia unui incident.
- Copiați formatul de care aveți nevoie: secunde Unix, milisecunde, ISO 8601 sau RFC 2822.
| Cifre (pentru date actuale) | Unitate | Exemplu |
|---|---|---|
| 10 | Secunde | 1789462800 |
| 13 | Milisecunde | 1789462800000 |
| 16 | Microsecunde | 1789462800000000 |
| 19 | Nanosecunde | 1789462800000000000 |
Recunoașterea după mărime funcționează pentru date dintr-un interval normal în jurul zilei de azi. Valorile foarte vechi sau foarte îndepărtate în viitor pot fi ambigue; dacă rezultatul pare greșit, verificați ce unitate folosește sistemul din care ați luat valoarea. Citirea unității din documentația API-ului sau din schema bazei de date este întotdeauna mai sigură decât număratul cifrelor. Compararea cu o dată pe care o cunoașteți, precum data creării unei înregistrări, arată repede dacă interpretarea este corectă.
Cum citiți o expresie cron
Comutați pagina pe Explică o expresie cron și lipiți linia din crontab. Instrumentul citește cron standard (Vixie): cinci câmpuri - minut, oră, zi din lună, lună, zi din săptămână - sau șase, atunci când primul este pentru secunde. Spune în cuvinte simple când se declanșează programarea și listează următoarele cinci rulări, în fusul orar pe care îl alegeți și în UTC.
| Câmp | Interval | Mai acceptă |
|---|---|---|
| Secundă (doar în forma cu șase câmpuri) | 0-59 | *, intervale, liste, pași |
| Minut | 0-59 | */15, 1-30/2, 5,20,35 |
| Oră | 0-23 | *, 9-17, */2 |
| Zi din lună | 1-31 | ?, intervale, liste, pași |
| Lună | 1-12 | JAN-DEC |
| Zi din săptămână | 0-7 | SUN-SAT; și 0, și 7 înseamnă duminică |
Două reguli încurcă lumea. Mai întâi, când și câmpul pentru ziua din lună, și cel pentru ziua din săptămână sunt restrânse, cronul standard rulează atunci când se potrivește oricare dintre ele: 0 0 13 * 5 rulează în fiecare vineri și în fiecare zi de 13 a lunii, nu doar vinerea 13. Lăsați unul dintre cele două câmpuri ca * atunci când vreți suprapunerea. Apoi, cron se declanșează în fusul orar al mașinii pe care rulează, așa că rulările listate aici - calculate după ceasul propriului browser - se potrivesc cu serverul dumneavoastră doar dacă alegeți fusul serverului.
L, W și # sunt extensii Quartz, nu cron standard. Instrumentul numește tokenul pe care nu l-a înțeles și refuză în loc să ghicească, iar o expresie care nu poate rula niciodată - 30 4 31 2 *, 31 februarie - este raportată ca imposibilă, în loc să primească cinci date inventate.
Formate de dată
| Format | Exemplu | Unde |
|---|---|---|
| ISO 8601 / RFC 3339 | 2026-09-15T09:00:00Z, 2026-09-15T12:00:00+03:00 | API-uri, JSON, jurnale |
| RFC 2822 / RFC 5322 | Tue, 15 Sep 2026 09:00:00 +0000 | Anteturile Date din e-mail, RSS |
| Dată HTTP (RFC 9110) | Tue, 15 Sep 2026 09:00:00 GMT | HTTP Date, Expires, Last-Modified |
| Secunde Unix | 1789462800 | Baze de date, claim-ul exp din JWT, unelte Unix |
| Milisecunde Unix | 1789462800000 | JavaScript, multe sisteme de evenimente |
RFC 3339 este un profil strict al lui ISO 8601, gândit pentru protocoalele de internet: întotdeauna o dată și o oră complete, cu secunde și cu un decalaj explicit sau cu Z pentru UTC. Dacă proiectați un API, folosiți șiruri RFC 3339 ori secunde Unix și documentați varianta aleasă. Fiindcă ISO 8601 mai permite și numere de săptămână, zile ordinale și intervale de durată, nu toate bibliotecile acceptă același subset. Un API care spune limpede ce acceptă un câmp scutește dezvoltatorul din partea cealaltă de încercări repetate.
# seconds to date (GNU date)
date -u -d @1789462800
# macOS / BSD date
date -u -r 1789462800
# current Unix time in seconds and milliseconds
date +%s
node -e 'console.log(Date.now())'Fusuri orare și ora de vară
Un fus orar înseamnă mai mult decât un decalaj. Europe/Bucharest este UTC+2 iarna și UTC+3 vara, iar datele schimbării s-au modificat de-a lungul anilor. De aceea conversia cu un fus numit din baza de date IANA a fusurilor orare este mai sigură decât adăugarea unui număr fix de ore. Pentru o dată din trecut se aplică regula valabilă atunci, așa că înregistrările vechi se citesc cu decalajul epocii lor, nu cu cel de azi. Când o țară își schimbă regulile, sistemele care stochează ora locală pierd sensul și pentru datele deja salvate.
| Fus | Ora locală pentru 2026-09-15T09:00:00Z |
|---|---|
| UTC | 09:00 |
| Europe/London | 10:00 (BST, UTC+1) |
| Europe/Bucharest | 12:00 (EEST, UTC+3) |
| America/New_York | 05:00 (EDT, UTC−4) |
| Asia/Tokyo | 18:00 (JST, UTC+9) |
Ore locale care nu există sau există de două ori
Timestampuri în jurnale și în cronologia incidentelor
În timpul unui incident, evenimentele vin din multe sisteme: jurnalele echilibratorului de încărcare în UTC, jurnalele aplicației în ora locală, o alertă de monitorizare cu un timestamp Unix și un e-mail cu o dată RFC 2822. A construi o cronologie înseamnă a le converti pe toate într-un singur fus, de obicei UTC, înainte de sortare. Convertorul ajută la formatele mai neobișnuite, însă configurarea fiecărui sistem să scrie în jurnal în UTC, cu decalaj, elimină din start cea mai mare parte a muncii. Același lucru este valabil pentru capturi de ecran și tichete: când scrieți o oră, scrieți și fusul ei.
- Scrieți în jurnal în UTC, cu un
Zexplicit sau cu un decalaj, în fiecare linie. - Includeți milisecundele, ca evenimentele din aceeași secundă să poată fi puse în ordine.
- Țineți ceasurile serverelor sincronizate cu NTP; câteva secunde de derivă schimbă ordinea evenimentelor.
- Când împărtășiți o cronologie, spuneți fusul o dată, la început, și folosiți-l până la capăt.
Erori frecvente legate de dată și oră
- Secunde față de milisecunde. O dată din 1970 sau din anul 57.000 înseamnă de obicei că unitatea a fost greșită.
- Date fără decalaj.
2026-09-15 09:00este ambiguu; sistemele diferite îl citesc ca UTC sau ca oră locală. - Stocarea orei locale. Stocați separat ora în UTC și fusul utilizatorului; derivați orele locale doar pentru afișare.
- Ordinea lunii și a zilei.
09/10/2026înseamnă 10 septembrie în SUA și 9 octombrie în mare parte din Europa; pentru date folosiți ISO 8601. - Diferențe de ceas între servere. Validarea tokenurilor și corelarea jurnalelor se strică atunci când ceasurile derivă; țineți serverele sincronizate cu NTP.
- Anul 2038. Secundele Unix pe 32 de biți cu semn depășesc capacitatea pe 2038-01-19; folosiți valori de timp pe 64 de biți în stocare și în cod.
Timestampurile apar și în multe alte instrumente: claim-urile exp și iat din Decodorul JWT, datele din anteturile Received din Analizorul de antete e-mail și timpul înglobat în identificatorii v7 din Generatorul UUID. Ora unei linii de jurnal de la api.example.com înseamnă cel mai mult atunci când toate folosesc UTC. O înțelegere a echipei asupra unui singur fus este cel mai ieftin timp câștigat când reconstituiți povestea unui incident.
Întrebări frecvente
Ce este epoca Unix?
1970-01-01 00:00:00 UTC. Timestampurile Unix numără secundele de la acel moment, fără a ține cont de secundele de salt.
Cum știu dacă un timestamp este în secunde sau în milisecunde?
Pentru datele actuale, 10 cifre înseamnă secunde, iar 13 cifre milisecunde. Convertorul recunoaște acest lucru automat și arată unitatea pe care a folosit-o.
Are un timestamp Unix un fus orar?
Nu. El identifică un moment. Fusurile orare contează abia când îl transformați într-o dată și o oră locale; dacă vedeți un nume de fus lângă un timestamp, acel fus ține doar de afișare.
De ce ora convertită este decalată exact cu câteva ore?
Valoarea a fost interpretată ca oră locală în loc de UTC sau invers. Asigurați-vă că șirurile de dată includ Z ori un decalaj; dacă diferența este exact de o oră, cauza este de obicei trecerea la ora de vară.
Ce este numărul săptămânii ISO?
Săptămânile încep luni, iar săptămâna 1 este cea care conține prima joi a anului. Este folosit des în planificarea de business din Europa, iar un an poate avea 52 sau 53 de săptămâni, așa că scrieți numărul săptămânii împreună cu anul.
Folosește convertorul ceasul calculatorului meu?
Da, pentru „acum” și pentru timpii relativi, precum „peste 3 ore”. Dacă ceasul dumneavoastră este greșit, și acele valori sunt greșite.
Ce se întâmplă în 2038?
Sistemele care stochează secundele Unix în întregi pe 32 de biți cu semn depășesc capacitatea pe 19 ianuarie 2038. Sistemele și limbajele moderne pe 64 de biți nu sunt afectate.
Sunt numărate secundele de salt?
Nu. Timpul Unix tratează fiecare zi ca având exact 86.400 de secunde, așa că secundele de salt nu sunt reprezentate.
De ce arată JavaScript altă lună?
În API-ul Date din JavaScript, lunile sunt numerotate de la 0, deci ianuarie este 0, iar septembrie este 8. Folosiți funcții de formatare sau șiruri ISO în loc să construiți date din numere, de mână.
Ce format ar trebui să folosească un API?
Șiruri RFC 3339 în UTC, precum 2026-09-15T09:00:00Z, sau secunde Unix. Alegeți unul, documentați-l și folosiți-l peste tot.