Tempo Unix in data: convertire un timestamp Unix in ora leggibile

Una guida pratica per convertire il tempo Unix in formati di data: UTC, fuso locale, ISO 8601, datetime di database e output leggibile. Copre timestamp Unix in data, tempo Linux in data e i comuni errori secondi vs millisecondi.

Cosa significa convertire Unix time in data

Il tempo Unix è un numero che conta il tempo trascorso dal 1° gennaio 1970 alle 00:00:00 UTC. Convertire Unix time in data significa trasformare quel numero in una data di calendario, un orario e una visualizzazione consapevole del fuso. Il timestamp in sé è neutro rispetto al fuso; UTC o l'ora locale influenzano solo come l'istante viene mostrato alle persone.

La regola rapida di conversione

Per prima cosa identifica l'unità. Un timestamp Unix moderno di 10 cifre è di solito in secondi. Uno moderno di 13 cifre di solito in millisecondi. JavaScript Date si aspetta millisecondi, mentre Linux, Python, PHP, Go e molte funzioni di database lavorano spesso con i secondi.

  • Unix seconds to JavaScript Date: new Date(seconds * 1000)
  • Unix milliseconds to JavaScript Date: new Date(milliseconds)
  • Linux command: date -u -d @1700000000
  • Python UTC datetime: datetime.fromtimestamp(seconds, tz=timezone.utc)
  • PostgreSQL: SELECT to_timestamp(1700000000)

Esempi di timestamp Unix in data

Gli esempi sono il modo più rapido per verificare se un valore è in secondi, millisecondi o un'altra unità. Se l'anno convertito è vicino al 1970, probabilmente hai passato secondi a un'API che si aspettava millisecondi. Se l'anno è molto lontano, probabilmente hai passato millisecondi a un'API che si aspettava secondi.

  • 0 secondi dall'epoch = 1970-01-01 00:00:00 UTC
  • 1700000000 secondi dall'epoch = 2023-11-14 22:13:20 UTC
  • 1700000000000 millisecondi dall'epoch = 2023-11-14 22:13:20 UTC
  • -86400 secondi dall'epoch = 1969-12-31 00:00:00 UTC
  • 1767225600 secondi dall'epoch = 2026-01-01 00:00:00 UTC

Data UTC vs data locale

Un timestamp Unix rappresenta un istante esatto. UTC è il riferimento più sicuro per log, API e debug. L'ora locale è utile per interfacce, calendari e report. Lo stesso timestamp Unix può apparire come date diverse a New York, Londra, Shanghai e Tokyo, soprattutto vicino alla mezzanotte UTC.

  • Usa UTC per confrontare eventi tra server o regioni
  • Usa il fuso IANA dell'utente per mostrare le date in un'app
  • Usa ISO 8601 con Z per un output UTC leggibile dalle macchine
  • Usa un convertitore di fusi quando conta il giorno di calendario locale

FAQ su Unix time in data

Come converto Unix time in una data?
Identifica se il valore è in secondi o millisecondi, poi convertilo con un convertitore di timestamp o un'API del linguaggio. In JavaScript, moltiplica i secondi per 1000 prima di passare il valore a new Date().
Il tempo di Linux è lo stesso del tempo Unix?
Per la normale conversione dei timestamp, sì. Il tempo di Linux è tempo Unix: secondi dal 1970-01-01 00:00:00 UTC.
Perché il mio timestamp Unix si converte nel 1970?
Di solito significa che un timestamp in secondi è stato trattato come millisecondi. Moltiplica il valore a 10 cifre per 1000 prima di convertire con JavaScript Date.
Come converto Unix time in una data in Excel?
Excel non ha l'epoch Unix: dividi il valore in secondi per 86400 e aggiungi il seriale di data del 1970: =A1/86400 + DATE(1970,1,1), poi formatta la cella come data. Per i millisecondi, dividi per 86400000.