Cos'è Unix Timestamp e Come Usarlo
Unix Timestamp (Epoch time, tempo POSIX) è il numero di secondi trascorsi dal 1 gennaio 1970, 00:00:00 UTC. Questo formato temporale è utilizzato in programmazione, database, API REST e log di sistema in tutto il mondo grazie alla sua universalità e indipendenza dai fusi orari.
Come Funziona
Un timestamp non dipende dai fusi orari — è semplicemente un numero che rappresenta un momento specifico nel tempo. Il valore 0 corrisponde all'inizio dell'epoch Unix, i numeri negativi rappresentano date prima del 1970. Il formato standard usa i secondi (10 cifre), ma Date.now() di JavaScript e alcune API REST lavorano con i millisecondi (13 cifre).
Il Problema del 2038 (Y2K38)
I sistemi a 32 bit memorizzano i timestamp come intero con segno con un massimo di 2.147.483.647, corrispondente al 19 gennaio 2038. Dopo questa data, i sistemi legacy potrebbero comportarsi in modo errato a causa dell'overflow dell'intero. La soluzione sono i sistemi a 64 bit, che supportano date miliardi di anni nel futuro.
Casi d'Uso Comuni
I timestamp sono usati per memorizzare valori datetime in database SQL e NoSQL, log degli eventi server, claim di scadenza dei token JWT, header cache HTTP (Expires, Last-Modified), metadati del file system, pianificazione cron job e sincronizzazione dei dati tra microservizi distribuiti. Il formato ISO 8601 (YYYY-MM-DDTHH:mm:ssZ) è spesso usato insieme ai timestamp per la rappresentazione leggibile delle date nelle API JSON.
Conversione nei Linguaggi Più Diffusi
Ottenere il timestamp corrente: JavaScript — Date.now() / 1000, Python — time.time(), PHP — time(), Go — time.Now().Unix(), Ruby — Time.now.to_i. Convertire in data: JavaScript — new Date(timestamp * 1000), Python — datetime.fromtimestamp(), PHP — date("Y-m-d", $timestamp).
Timestamp nella Pratica Quotidiana
Ogni volta che invii un messaggio, effettui un pagamento online o visiti un sito web, il server registra l'evento con un timestamp Unix. I sistemi di monitoraggio come Grafana e Datadog memorizzano le metriche con precisione al millisecondo. I database come PostgreSQL e MongoDB usano i timestamp per l'ordinamento e l'indicizzazione temporale.