Convertor Timp Epoch
Convertește timestamp-uri Unix în date UTC sau transformă o dată în secunde epoch.
Cum se utilizează acest convertor de timp epoch
- Alegeți modul de conversie
Selectați Epoch în dată sau Dată în epoch în câmpul Mod conversie.
- Pentru epoch în dată
Introduceți timestamp-ul Unix în secunde în câmpul Timestamp Epoch (secunde).
- Pentru dată în epoch
Alegeți data în Calendar, apoi setați Ora (UTC), Minutul (UTC) și Secunda (UTC) după cum este necesar.
- Citește rezultatul
Calculatorul afișează valoarea UTC, milisecundele Unix și ziua săptămânii.
Cum funcționează acest convertor de timp epoch
Acest convertor de timp epoch realizează traducerea între timestamp-urile Unix și datele UTC lizibile. Timpul Unix — numit și timp POSIX sau timp epoch — numără secundele scurse de la epoca Unix, definită ca miezul nopții UTC pe 1 ianuarie 1970 (1970-01-01T00:00:00Z). Această reprezentare printr-un singur număr întreg este standardul de facto pentru stocarea și transmiterea marcajelor temporale în baze de date, API-uri, fișiere log, token-uri JWT și în aproape orice limbaj de programare modern. Convertorul funcționează în ambele direcții: introducerea unui timestamp numeric returnează data UTC corespunzătoare, ziua săptămânii și echivalentul în milisecunde, în timp ce introducerea unei date și ore calendaristice returnează valoarea epoch în secunde și milisecunde.
Timpul Unix = secunde scurse de la 1970-01-01T00:00:00Z Pentru a converti marcajul temporal Unix 1.700.000.000 într-o dată: pornind de la 1970-01-01 00:00:00 UTC, adăugați 1.700.000.000 de secunde. Aceasta înseamnă 19.675 de zile, 17 ore, 46 de minute și 40 de secunde. Data UTC rezultată este 2023-11-14 la 22:13:20 UTC, care cade într-o zi de marți. Echivalentul în milisecunde este 1.700.000.000.000. Invers, introducerea datei de 14 noiembrie 2023 la 22:13:20 UTC returnează o valoare epoch de exact 1.700.000.000.
Timestamp-ul 0 se convertește în 1970-01-01 00:00:00 UTC (joi). Echivalentul în milisecunde este 0.
Timestamp-ul 1.704.000.000 se convertește în 2023-12-31 12:00:00 UTC (duminică). Introducerea acelei date și ore în modul Dată în epoch returnează 1.704.000.000.
- ✓ Toate calculele sunt în UTC. Conversiile în ora locală necesită aplicarea decalajului de fus orar corespunzător după conversie.
- ✓ Secundele bisecte nu sunt numărate. La fel ca POSIX, acest convertor tratează fiecare zi ca având exact 86.400 de secunde, ceea ce corespunde comportamentului majorității limbajelor de programare și sistemelor de operare.
- ✓ Marcajele temporale negative reprezintă date anterioare epocii (1 ianuarie 1970). De exemplu, −86400 corespunde datei de 31 decembrie 1969.
- ✓ Marcajele temporale în milisecunde trebuie împărțite la 1.000 înainte de introducere; convertorul acceptă secunde ca intrare și afișează echivalentul în milisecunde în rezultate.
- Date.now() din JavaScript și System.currentTimeMillis() din Java returnează milisecunde, nu secunde — împărțiți la 1.000 înainte de a introduce valoarea aici sau utilizați rezultatul în milisecunde pentru comparație.
- Problema anului 2038 afectează marcajele temporale pe numere întregi cu semn pe 32 de biți, care vor depăși capacitatea pe 19 ianuarie 2038 la 03:14:07 UTC. Majoritatea sistemelor moderne au migrat la marcaje temporale pe 64 de biți.
- Când depanați răspunsuri API sau fișiere jurnal, urmăriți marcajele temporale care par decalate cu exact 3.600 sau 7.200 de secunde — acest lucru indică de obicei că un decalaj de fus orar a fost aplicat (sau omis) undeva în fluxul de date.
- Timpul Epoch este întotdeauna în creștere monotonă (ignorând ajustările secundelor bisecte), ceea ce îl face ideal pentru sortarea evenimentelor, calcularea duratelor și generarea de identificatori unici bazați pe timp.
- IEEE Std 1003.1 (POSIX) — definiția secundelor de la Epoch
- Originea Unix epoch — documentația The Unix Heritage Society și Bell Labs
- RFC 3339 — Data și ora pe internet: Marcaje temporale
Ce sunt timestamp-urile Unix?
Un timestamp Unix reprezintă numărul de secunde scurse de la miezul nopții UTC pe 1 ianuarie 1970 — epoca Unix. Acest număr întreg este standardul de facto pentru reprezentarea timpului în baze de date, API-uri, fișiere log și majoritatea limbajelor de programare. Deoarece este independent de fusul orar și crește monoton, simplifică sortarea, calculele de durată și comparările temporale. Date.now() din JavaScript și multe API-uri returnează milisecunde (1.000 × secunde), deci împarte la 1.000 înainte de a introduce o valoare în milisecunde aici. Timestamp-urile negative reprezintă date anterioare anului 1970; de exemplu, −86400 este exact cu o zi înainte de epocă.
Cazuri de utilizare pentru dezvoltatori ale timpului epoch
Dezvoltatorii folosesc timestamp-uri Unix atunci când stochează timpii evenimentelor în baze de date, serializează date în API-uri JSON, generează chei de cache bazate pe timp și depanează intrări de log. Coloanele bazelor de date stochează adesea timestamp-urile ca numere întregi pentru indexare eficientă și interogări de interval. Răspunsurile API returnează frecvent secunde sau milisecunde epoch pentru a evita ambiguitatea fusului orar. La depanare, conversia unui timestamp brut dintr-un log sau dintr-o revendicare JWT într-o dată lizibilă pentru om dezvăluie rapid dacă valoarea este corectă sau decalată din cauza fusului orar. Timpul epoch este, de asemenea, utilizat pentru limitarea ratei, expirarea sesiunilor și generarea de identificatori unici sortabili în sisteme distribuite.
Întrebări frecvente despre convertorul de timp Epoch
Ce este epoca Unix?
Epoca Unix este punctul de referință de la care se măsoară timpul Unix: miezul nopții UTC pe 1 ianuarie 1970 (1970-01-01T00:00:00Z). Un timestamp de 0 corespunde exact acelui moment.
De ce are timestamp-ul meu JavaScript mai multe cifre?
Funcția Date.now() din JavaScript returnează milisecunde de la epocă, nu secunde. Împarte la 1.000 pentru a converti în formatul bazat pe secunde utilizat de acest instrument sau compară direct cu rezultatul în milisecunde.
Pot introduce un timestamp negativ?
Da. Valorile negative reprezintă date anterioare epocii. De exemplu, −86400 corespunde datei 1969-12-31T00:00:00Z, exact cu o zi înainte de epocă.
Gestionează secundele bisecte?
Nu, iar acest lucru respectă standardul POSIX. Timpul POSIX presupune că fiecare zi are exact 86.400 de secunde. Cele 27 de secunde bisecte introduse din 1972 nu sunt reprezentate individual, ceea ce înseamnă că UTC și timpul Unix pot diferi cu până la o secundă la limitele secundelor bisecte.
Ce este problema anului 2038?
Sistemele care stochează timpul Unix ca un întreg cu semn pe 32 de biți vor suferi o depășire (overflow) pe 19 ianuarie 2038 la ora 03:14:07 UTC, trecând la un număr negativ mare și generând date din anul 1901. Majoritatea platformelor moderne folosesc acum timestamp-uri pe 64 de biți, care nu vor depăși capacitatea timp de peste 290 de miliarde de ani.