Curious TechieDev Toolbox
Tutte le Guide/Tempo & Epoch8 min read

Cos’è l’Ora Unix (Epoch)?

Perché i sistemi contano i secondi dal 1° gennaio 1970, differenze tra timestamp 32 e 64 bit e il bug dell’anno 2038.

Punti Chiave
  • L’ora Unix misura i secondi trascorsi dalle 00:00:00 UTC del 1° gennaio 1970.
  • Fornisce un intero universale privo di fusi orari, eccellente per database e registri di log.
  • Il Bug dell’Anno 2038 (Y2038) fa collassare i sistemi a 32 bit per overflow.
  • L’ora Unix omette i secondi intercalari durante gli allineamenti orari.

I computer necessitano di un formato numerico inequivocabile e crescente per ordinare gli eventi tra server distribuiti. Questo standard universale è il Tempo Unix (Epoch).

1. Cos’è l’Epoca Unix?

L’epoca Unix è definita come le 00:00:00 UTC di giovedì 1 gennaio 1970. Ogni secondo trascorso incrementa questo contatore di un’unità.

2. Secondi (10 cifre) vs Millisecondi (13 cifre)

I kernel Linux misurano il tempo in secondi (es.: 1787610000), mentre JavaScript impiega millisecondi (es.: 1787610000000). Moltiplicare o dividere per 1.000 unisce i due mondi.

3. Fusi Orari e Formato ISO 8601

Un timestamp Unix non risente di alcun fuso orario: indica un istante universale. Il fuso orario locale entra in gioco solo nella visualizzazione secondo lo standard ISO 8601 (YYYY-MM-DDTHH:mm:ssZ).

4. Il Bug dell’Anno 2038 (Y2038) Spiegato

I sistemi a 32 bit con segno subiranno un overflow il 19 gennaio 2038 alle 03:14:07 UTC tornando a valori negativi (1901). I moderni sistemi a 64 bit garantiscono sicurezza per miliardi di anni.