Convertitore Epoch Time
Converti i timestamp Unix in date UTC o trasforma una data in secondi epoch.
Come utilizzare questo convertitore di tempo epoch
- Scegli la modalità di conversione
Seleziona "Da Epoch a data" o "Da data a Epoch" nel campo Modalità di conversione.
- Per convertire da epoch a data
Inserisci il timestamp Unix in secondi nel campo Timestamp Epoch (secondi).
- Per convertire da data a epoch
Scegli la data nel Calendario, quindi imposta Ora (UTC), Minuto (UTC) e Secondo (UTC) secondo necessità.
- Leggi il risultato
Il calcolatore mostra il valore UTC, i millisecondi Unix e il giorno della settimana.
Come funziona questo convertitore di tempo epoch
Questo convertitore di tempo epoch traduce tra timestamp Unix e date UTC leggibili. Il tempo Unix — chiamato anche tempo POSIX o tempo epoch — conta il numero di secondi trascorsi dall'epoca Unix, definita come la mezzanotte UTC del 1° gennaio 1970 (1970-01-01T00:00:00Z). Questa rappresentazione a numero intero singolo è lo standard de facto per la memorizzazione e la trasmissione di timestamp in database, API, file di log, token JWT e praticamente ogni linguaggio di programmazione moderno. Il convertitore gestisce entrambe le direzioni: inserendo un timestamp numerico si ottiene la data UTC corrispondente, il giorno della settimana e l'equivalente in millisecondi, mentre inserendo una data e un'ora del calendario si ottiene il valore epoch in secondi e millisecondi.
Tempo Unix = secondi trascorsi dal 1970-01-01T00:00:00Z Per convertire il timestamp Unix 1.700.000.000 in una data: partendo dal 1970-01-01 00:00:00 UTC, aggiungi 1.700.000.000 secondi. Questo equivale a 19.675 giorni, 17 ore, 46 minuti e 40 secondi. La data UTC risultante è il 2023-11-14 alle 22:13:20 UTC, che cade di martedì. L'equivalente in millisecondi è 1.700.000.000.000. Al contrario, inserendo il 14 novembre 2023 alle 22:13:20 UTC si ottiene un valore epoch di esattamente 1.700.000.000.
Il timestamp 0 corrisponde a 1970-01-01 00:00:00 UTC (giovedì). L'equivalente in millisecondi è 0.
Il timestamp 1.704.000.000 corrisponde a 2023-12-31 12:00:00 UTC (domenica). Inserendo tale data e ora nella modalità 'Da data a epoch' si ottiene 1.704.000.000.
- ✓ Tutti i calcoli sono in UTC. Le conversioni all'ora locale richiedono l'applicazione del fuso orario appropriato dopo la conversione.
- ✓ I secondi intercalari non vengono conteggiati. Come POSIX, questo convertitore considera ogni giorno esattamente di 86.400 secondi, in linea con il comportamento della maggior parte dei linguaggi di programmazione e dei sistemi operativi.
- ✓ I timestamp negativi rappresentano date precedenti all'epoca (1 gennaio 1970). Ad esempio, −86400 corrisponde al 31 dicembre 1969.
- ✓ I timestamp in millisecondi devono essere divisi per 1.000 prima dell'inserimento; il convertitore accetta secondi come input e visualizza l'equivalente in millisecondi nei risultati.
- Date.now() di JavaScript e System.currentTimeMillis() di Java restituiscono millisecondi, non secondi — dividi per 1.000 prima di inserire il valore qui, oppure usa l'output in millisecondi per il confronto.
- Il problema dell'anno 2038 riguarda i timestamp con numeri interi a 32 bit con segno, che andranno in overflow il 19 gennaio 2038 alle 03:14:07 UTC. La maggior parte dei sistemi moderni è passata ai timestamp a 64 bit.
- Durante il debug delle risposte API o dei file di log, fai attenzione ai timestamp che sembrano sfasati di esattamente 3.600 o 7.200 secondi — questo solitamente indica che è stato applicato (o omesso) un offset del fuso orario in qualche punto della pipeline.
- Il tempo epoch è sempre monotonicamente crescente (ignorando le regolazioni dei secondi intercalari), il che lo rende ideale per ordinare eventi, calcolare durate e generare identificatori univoci basati sul tempo.
- IEEE Std 1003.1 (POSIX) — definizione di secondi dall'epoca (Seconds Since the Epoch)
- Origine dell'epoca Unix — documentazione di The Unix Heritage Society e Bell Labs
- RFC 3339 — Data e ora su Internet: Timestamp
Cosa sono i timestamp Unix?
Un timestamp Unix è il numero di secondi trascorsi dalla mezzanotte UTC del 1° gennaio 1970 — l'epoca Unix. Questo singolo numero intero è lo standard de facto per rappresentare il tempo in database, API, file di log e nella maggior parte dei linguaggi di programmazione. Essendo indipendente dal fuso orario e monotonicamente crescente, semplifica l'ordinamento, il calcolo delle durate e i confronti temporali. Date.now() di JavaScript e molte API restituiscono millisecondi (1.000 × secondi), quindi dividi per 1.000 prima di inserire un valore in millisecondi qui. I timestamp negativi rappresentano date precedenti al 1970; ad esempio, −86400 corrisponde esattamente a un giorno prima dell'epoca.
Casi d'uso per gli sviluppatori del tempo epoch
Gli sviluppatori utilizzano i timestamp Unix per memorizzare gli orari degli eventi nei database, serializzare le date nelle API JSON, generare chiavi di cache basate sul tempo e analizzare le voci di log. Le colonne dei database spesso memorizzano i timestamp come numeri interi per un'indicizzazione e query di intervallo efficienti. Le risposte delle API restituiscono frequentemente secondi o millisecondi epoch per evitare ambiguità di fuso orario. Durante il debug, la conversione di un timestamp grezzo da un log o da un claim JWT in una data leggibile rivela rapidamente se il valore è corretto o errato a causa del fuso orario. Il tempo epoch viene utilizzato anche per il rate limiting, la scadenza delle sessioni e la generazione di identificatori univoci ordinabili in sistemi distribuiti.
FAQ sul convertitore di tempo Epoch
Cos'è l'epoca Unix?
L'epoca Unix è il punto di riferimento da cui viene misurato il tempo Unix: la mezzanotte UTC del 1° gennaio 1970 (1970-01-01T00:00:00Z). Un timestamp pari a 0 corrisponde esattamente a quel momento.
Perché il mio timestamp JavaScript ha più cifre?
Date.now() di JavaScript restituisce i millisecondi dall'epoca, non i secondi. Dividi per 1.000 per convertire nel formato basato sui secondi utilizzato da questo strumento, oppure confrontalo direttamente con l'output in millisecondi.
Posso inserire un timestamp negativo?
Sì. I valori negativi rappresentano date precedenti all'epoca. Ad esempio, −86400 corrisponde a 1969-12-31T00:00:00Z, esattamente un giorno prima dell'epoca.
Gestisce i secondi intercalari?
No, e questo è conforme allo standard POSIX. Il tempo POSIX presuppone che ogni giorno sia esattamente di 86.400 secondi. I 27 secondi intercalari inseriti dal 1972 non sono rappresentati singolarmente, il che significa che l'ora UTC e l'ora Unix possono differire fino a un secondo in corrispondenza dei secondi intercalari.
Cos'è il problema dell'anno 2038?
I sistemi che memorizzano l'ora Unix come intero con segno a 32 bit andranno in overflow il 19 gennaio 2038 alle 03:14:07 UTC, passando a un numero negativo elevato e producendo date nel 1901. La maggior parte delle piattaforme moderne utilizza ora timestamp a 64 bit, che non andranno in overflow per oltre 290 miliardi di anni.