Convertitore Timestamp UNIX (online) - Converti Data e Ora

Timestamp UNIX attuale

Secondi
Millisecondi

Timestamp → Data e ora


Data e ora → Timestamp

Convertitore Timestamp UNIX (online)

Questo convertitore di timestamp UNIX ti permette di convertire rapidamente il tempo UNIX (epoch time / POSIX time) in data e ora e viceversa. Supporta i timestamp in secondi e millisecondi, visualizza l’ora locale, l’UTC e l’ISO 8601, e i risultati possono essere copiati con un solo clic.


Cos’è un timestamp UNIX (epoch time / POSIX time)?

Un timestamp UNIX è un numero che esprime il tempo come il numero di secondi trascorsi dal 1° gennaio 1970 00:00:00 UTC (la cosiddetta epoch UNIX). In pratica, è uno dei formati più utilizzati per archiviare e trasferire data e ora in sistemi, database, API e logging.

Esempio: 1700000000 corrisponde alla data del 14 novembre 2023 22:13:20 UTC.

Perché proprio il 1° gennaio 1970?

L’inizio dell’epoch (1970-01-01) è stato scelto durante la progettazione di UNIX come punto di riferimento pratico: è vicino al periodo di creazione del sistema e consente semplici calcoli del tempo.


Timestamp UNIX in secondi vs. millisecondi

Il timestamp UNIX si presenta più comunemente in due forme:

Formato timestampEsempioUso tipico
Secondi (s)1700000000database, backend, API, file
Millisecondi (ms)1700000000000JavaScript (Date.now()), analisi, log dettagliati

Come capire cosa hai?

  • I secondi per le date “odierne” hanno tipicamente 10 cifre.
  • I millisecondi hanno tipicamente 13 cifre e sono circa 1000 volte più grandi.
  • Orientativamente: se il valore è > 10¹², si tratta quasi certamente di millisecondi.

Come usare il convertitore di timestamp UNIX

1) Timestamp → Data e ora

  1. Inserisci il timestamp UNIX nel campo, oppure clicca su Ora (timestamp UNIX attuale).
  2. Se il timestamp è in millisecondi, attiva l’opzione Millisecondi.
  3. Clicca su Converti (o premi Invio).
  4. Verrà visualizzata la conversione in ora locale, UTC e ISO 8601.
  5. Cliccando sul risultato, lo copierai negli appunti.

2) Data e ora → Timestamp

  1. Seleziona la data e ora nel modulo.
  2. Clicca su Converti.
  3. Otterrai il risultato come timestamp in secondi e millisecondi.

Dove viene usato più spesso il timestamp UNIX?

Troverai il tempo UNIX praticamente ovunque si lavori con il tempo nell’IT:

  • Database – archiviazione e confronto di orari in MySQL, PostgreSQL, SQLite, ecc.
  • API – REST/GraphQL spesso restituiscono l’ora come timestamp (facile serializzazione).
  • Log e monitoraggio – ordinamento preciso degli eventi nel tempo.
  • Git – i commit contengono dati temporali.
  • Sistemi di file – orari come mtime/ctime/atime (ultima modifica, ecc.).
  • JWT – i claim iat (issued at) e exp (expires) sono tipicamente in secondi epochali.
  • Shell Linux/Unixdate +%s restituisce il timestamp attuale.
  • JavaScriptDate.now() restituisce l’ora in millisecondi.

Esempi pratici di conversione del tempo UNIX

JavaScript (timestamp ↔ data)

// Timestamp UNIX attuale in secondi
const tsSeconds = Math.floor(Date.now() / 1000);

// Timestamp attuale in millisecondi
const tsMs = Date.now();

// Timestamp (s) -> data
const dateFromSeconds = new Date(1700000000 * 1000);
console.log(dateFromSeconds.toISOString());

// Data -> timestamp (s)
const ts = Math.floor(new Date("2024-01-01T00:00:00Z").getTime() / 1000);
console.log(ts);

Python (timestamp ↔ datetime)

import time
from datetime import datetime, timezone

# Timestamp attuale in secondi
ts = int(time.time())

# Timestamp -> datetime (UTC)
dt_utc = datetime.fromtimestamp(1700000000, tz=timezone.utc)

# Data -> timestamp
ts2 = int(datetime(2024, 1, 1, tzinfo=timezone.utc).timestamp())

SQL (MySQL)

-- Timestamp UNIX attuale (s)
SELECT UNIX_TIMESTAMP();

-- Timestamp -> data
SELECT FROM_UNIXTIME(1700000000);

-- Data -> timestamp
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');

Fusi orari: UTC, ora locale e ISO 8601

Il timestamp UNIX è sempre in UTC – non contiene informazioni sul fuso orario né sull’ora legale. La conversione all’ora locale dipende dalle impostazioni del browser, del server o della libreria utilizzata.

Termini utili da conoscere:

  • UTC – standard globale senza ora legale/solare.
  • GMT – per l’uso comune, praticamente identico all’UTC.
  • Offset – spostamento rispetto all’UTC (es. Roma UTC+1 in inverno, UTC+2 in estate).

Limiti del timestamp UNIX e problema dell’anno 2038

Problema dell’anno 2038 (Year 2038 Problem)

Su alcuni sistemi a 32 bit, il timestamp è memorizzato come int32 con un massimo di 2.147.483.647, che corrisponde al 19 gennaio 2038 03:14:07 UTC. Dopo aver superato questo limite, potrebbe verificarsi un overflow e un orario errato. I moderni sistemi a 64 bit tipicamente non hanno questo problema.

Intervallo del tempo UNIX a 64 bit

I valori a 64 bit coprono un periodo estremamente ampio (in pratica, “per sempre”). I valori negativi indicano date precedenti al 1° gennaio 1970.


FAQ – domande frequenti sul timestamp UNIX

Il timestamp UNIX è in UTC o in ora locale? Il timestamp UNIX è sempre in **UTC**. L'ora locale viene generata solo durante la conversione in base al fuso orario. Il convertitore visualizza quindi tipicamente sia l'UTC che l'ora locale.
Come faccio a sapere se il timestamp è in secondi o millisecondi? Per il tempo attuale, un timestamp in **secondi** ha tipicamente **10 cifre**. In **millisecondi** ha solitamente **13 cifre** ed è circa **1000 volte più grande**. Orientativamente: un valore **> 10¹²** è di solito in millisecondi.
Cosa significa un timestamp UNIX negativo? Un timestamp negativo rappresenta una data **precedente al 1° gennaio 1970**. Ad esempio, ` -1` corrisponde al **31 dicembre 1969 23:59:59 UTC**.
Come convertire un timestamp UNIX in SQL? In MySQL userai `FROM_UNIXTIME(timestamp)` e viceversa `UNIX_TIMESTAMP(data)`. In PostgreSQL è tipicamente `TO_TIMESTAMP(timestamp)` e `EXTRACT(EPOCH FROM data)`.
Perché l'epoch UNIX inizia il 1° gennaio 1970? È un punto di riferimento scelto storicamente dagli albori di UNIX: semplice, pratico e vicino al periodo di sviluppo del sistema.