Secondi intercalari: come UTC segue la rotazione della Terra
I secondi intercalari sono aggiustamenti di un secondo inseriti in UTC per allineare il tempo degli orologi atomici con la rotazione sempre più lenta della Terra. Hanno fatto crollare grandi sistemi e si prevede di abolirli entro il 2035. Questa guida spiega cosa sono, come il tempo Unix li gestisce (perlopiù ignorandoli) e gli schemi pratici che i sistemi usano per restare al sicuro.
I secondi intercalari in un minuto
Un secondo intercalare è un secondo extra aggiunto occasionalmente a UTC per mantenere l'ora entro 0,9 secondi da UT1 — il tempo definito dalla rotazione reale della Terra. Gli orologi atomici battono a un ritmo perfettamente costante, ma la Terra non ruota a un ritmo perfettamente costante, quindi i due divergono e vanno risincronizzati. Dal 1972 ci sono state 27 di queste inserzioni, l'ultima il 31-12-2016, e gli organismi di metrologia del mondo hanno votato per ritirarli entro il 2035. Fondamentale: il tempo Unix ignora del tutto i secondi intercalari. La tabella sotto mostra come si relazionano le principali scale temporali.
| Scala temporale | Basata su | Secondi intercalari? | Nota |
|---|---|---|---|
| TAI | Orologi atomici (secondi SI) | Mai | Continua — 37 s avanti a UTC dal 2017 |
| UT1 | Rotazione terrestre (astronomia) | — | Il tempo solare a cui UTC resta vicino |
| UTC | TAI, regolato verso UT1 | Sì (fino a ~2035) | Tempo civile mondiale |
| Tempo Unix | UTC, ma 86.400 s al giorno | Ignorati | Ciò che usa il codice applicativo |
Cos'è un secondo intercalare?
Un secondo intercalare è un secondo extra aggiunto a UTC per mantenerlo entro 0,9 s da UT1 — il tempo astronomico, basato sulla rotazione della Terra. La rotazione della Terra è irregolare e rallenta leggermente su scale lunghe, quindi l'UTC atomico e l'UT1 rotazionale divergono e vanno riallineati.
- Tra il 1972 e l'ultimo (01-01-2017) sono stati inseriti 27 secondi intercalari positivi
- Non si è mai verificato un secondo intercalare negativo, ma è teoricamente possibile se la Terra accelera
- Il Bollettino C dell'IERS annuncia i prossimi secondi intercalari con almeno sei mesi di anticipo
- Inserito proprio alla fine di un giorno UTC (23:59:60), tipicamente il 30 giugno o il 31 dicembre
Perché esistono i secondi intercalari
UTC fu ridefinito nel 1972 come un ibrido: il secondo SI (atomico), mantenuto entro una frazione di secondo da UT1 (astronomico) mediante inserzioni occasionali di secondi intercalari. L'obiettivo era tenere l'ora e il tempo solare grossomodo allineati senza vincolarsi a nessuno dei sistemi puri.
- TAI: Tempo Atomico Internazionale, un puro conteggio di secondi SI senza secondi intercalari (attualmente 37 s avanti a UTC)
- UT1: tempo rotazionale, basato sulle osservazioni dell'orientamento della Terra
- UTC: l'ibrido — battiti atomici, periodicamente ricalibrati verso UT1
- Senza secondi intercalari, UTC e il sole divergerebbero di ~1 minuto al secolo
Secondi intercalari e tempo Unix
Il tempo Unix POSIX è definito per ignorare i secondi intercalari: ogni giorno Unix dura esattamente 86.400 secondi. Quando si verifica un secondo intercalare, i sistemi lo gestiscono in modo diverso — nessuno incrementa il timestamp Unix di un secondo extra. Per questo un timestamp Unix/POSIX segue UTC ma non è un vero conteggio dei secondi fisici trascorsi dal 1970.
- POSIX rigoroso: il numero del secondo si ripete — 23:59:59 si verifica due volte, entrambe mappate sullo stesso timestamp Unix
- Kernel Linux prima del 2012: implementava il POSIX rigoroso; emersero molti bug (blocchi di Java, MySQL, Hadoop)
- Kernel Linux moderno: applica la regolazione tramite clock_settime(); alcune implementazioni fanno smearing su una finestra
- Smearing: distribuire il secondo extra su ore o un giorno così che nessun secondo venga ripetuto
Leap smearing
La maggior parte dei grandi servizi NTP pubblici non passa più i secondi intercalari così come sono ai client. Fanno smearing: il secondo extra viene distribuito su una finestra così che gli orologi client avanzino molto leggermente più veloci (o più lenti per un secondo negativo) di UTC durante la finestra. Il risultato: nessun client vede mai un 23:59:60 — al costo di divergere brevemente dall'UTC rigoroso.
| Fornitore | Finestra di smearing | Note |
|---|---|---|
| 24 ore, centrata sulla mezzanotte UTC | regolazione ~11,6 µs/s | |
| AWS | 24 ore | Amazon Time Sync Service |
| Meta (Facebook) | 17 ore | — |
| Microsoft | 24 ore | Dal 2018 |
- Lo smearing fa sì che gli orologi client differiscano dall'UTC rigoroso durante la finestra — accettabile per le applicazioni, non per la cronometria di alta precisione
Potrebbe esserci un secondo intercalare negativo?
Ogni secondo intercalare finora è stato positivo — aggiungere un secondo. Ma da circa il 2020 la Terra ha ruotato un po' più veloce che per gran parte dell'ultimo mezzo secolo, riportando brevemente in vista la prospettiva un tempo teorica di un secondo intercalare negativo: rimuovere un secondo così che a 23:59:58 segua direttamente 00:00:00. Sarebbe il primo in assoluto, e molti sistemi che gestiscono un secondo ripetuto gestiscono ancora male un secondo saltato. Ricerche recenti suggeriscono che lo scioglimento dei ghiacci polari sta frenando l'accelerazione e potrebbe spingere un eventuale secondo intercalare negativo intorno al 2029 — momento in cui l'abolizione del 2035 potrebbe renderlo superfluo.
L'abolizione del 2035
La Conferenza generale dei pesi e delle misure (CGPM) ha votato nel novembre 2022 (Risoluzione 4) di eliminare i secondi intercalari da UTC entro il 2035 al più tardi. Il piano sostituisce la tolleranza UT1 di ±0,9 s con una molto più ampia, lasciando così che UTC si discosti dal tempo solare nell'arco di molti decenni.
- 2022-11: Risoluzione 4 della CGPM — aumentare la differenza massima UT1−UTC entro, o prima del, 2035
- 2023-11: l'ITU-R WRC-23 avalla formalmente la decisione di metrologia
- Dopo l'abolizione, UTC diventerà una scala temporale puramente atomica legata al TAI da uno scarto fisso
- Le implementazioni hanno tempo fino al 2035 per dismettere i percorsi di codice che gestiscono i secondi intercalari
Riferimenti correlati
FAQ
- Quanti secondi intercalari ci sono stati?
- Tra il 1972 e il 01-01-2017 sono stati inseriti in UTC 27 secondi intercalari positivi. Nessuno da allora. Non si è mai verificato un secondo intercalare negativo.
- Qual è la differenza tra UTC e TAI?
- Il TAI è tempo atomico continuo senza secondi intercalari; UTC è il TAI regolato con secondi intercalari per restare entro 0,9 s dalla rotazione della Terra. Dal 2017 il TAI è esattamente 37 secondi avanti rispetto a UTC.
- Potrebbe esserci un secondo intercalare negativo?
- È possibile ma non è mai accaduto. Da circa il 2020 la Terra ha ruotato leggermente più veloce, il che in linea di principio potrebbe richiedere di rimuovere un secondo anziché aggiungerlo. La prevista abolizione dei secondi intercalari nel 2035 potrebbe rendere la questione superflua.
- I timestamp Unix includeranno i secondi intercalari dopo il 2035?
- No. Il tempo Unix non ha mai contato i secondi intercalari e non lo farà mai. Dopo l'abolizione, UTC stesso smette di aggiungerli, quindi tempo Unix e UTC resteranno semplicemente allineati.
- Perché Reddit e Cloudflare sono crollati nei giorni del secondo intercalare?
- Il kernel Linux e alcune librerie Java avevano bug che scattavano quando si verificava 23:59:60 — tipicamente cicli infiniti, contesa di lock o matematica NaN dovuta a un "secondo negativo" in alcuni percorsi di codice.
- Qual è lo scarto TAI−UTC attuale?
- 37 secondi. Cioè 27 secondi intercalari (dal 1972) più uno scarto iniziale di 10 secondi stabilito quando UTC fu definito.