Tutti gli articoli

Tempo Unix: perché i computer contano il tempo dal 1970

Il tempo Unix (Unix timestamp) è il numero di secondi trascorsi dal 1° gennaio 1970 alle 00:00:00 UTC. Questa data è chiamata "epoca Unix", ed è il punto di riferimento da cui praticamente ogni sistema operativo, database e linguaggio di programmazione moderno conta il tempo.

Perché proprio il 1970

La data non è stata scelta per qualche evento speciale, ma per pura praticità: gli sviluppatori Unix ai Bell Labs, all'inizio degli anni '70, presero semplicemente l'anno allora corrente come comodo punto di partenza tondo. Non c'è alcun significato più profondo dietro questa data.

Perché questo formato è così diffuso nell'automazione industriale

Nel settore manifatturiero italiano, dove i PLC e i sistemi di controllo industriale restano in funzione per decenni, gli eventi vengono spesso registrati come timestamp Unix perché semplifica il confronto e l'ordinamento cronologico tra impianti diversi, senza dover gestire manualmente i fusi orari degli stabilimenti.

Il problema del 2038

Molti sistemi datati memorizzano il tempo Unix come intero con segno a 32 bit, che può rappresentare valori solo fino al 19 gennaio 2038. Dopo quella data, un numero simile andrà in overflow — non è un problema solo teorico, perché macchinari industriali e sistemi embedded a lunga vita restano spesso in funzione per anni senza aggiornamenti del firmware.

A cosa serve

  • Convertire un timestamp da log o risposte API in una data e ora leggibili.
  • Calcolare la differenza tra due momenti nel tempo senza fare calcoli manuali del calendario.
  • Diagnosticare problemi legati ai fusi orari quando si lavora con i timestamp.

Il tempo Unix e i secondi intercalari

Il tempo Unix presuppone che ogni giorno duri esattamente 86400 secondi, ignorando i secondi intercalari che vengono occasionalmente aggiunti a UTC per compensare il rallentamento della rotazione terrestre. Questo significa che il tempo Unix non è tecnicamente una rappresentazione esatta di UTC nei momenti in cui viene aggiunto un secondo intercalare — la maggior parte dei sistemi si limita a "distribuire" o ripetere un secondo per evitare un salto nel contatore.

Prova lo strumento