Calcolare un anniversario
Pubblicato il 25/08/2026 · 11 min di lettura · Calcolatrici quotidiane
Antonio Delgado — Redattore Tradizioni e Tempo libero presso OneKitly
Simbolismo · Calendari
Verificato su 3 fonti
Dagli il 20 giugno 2015 e interrogalo il 28 agosto 2026: la calcolatrice restituisce due risposte che non sono la stessa risposta. Trascorso: 11 anni, 2 mesi e 8 giorni, cioè 4087 giorni, 583 settimane, 134 mesi interi, 98 088 ore e 5 885 280 minuti. Davanti: il prossimo anniversario cade il 20 giugno 2027, sarà il dodicesimo, e mancano 296 giorni. Undici dietro, dodici davanti — non è un difetto, è la differenza tra contare gli anni compiuti e numerare quello che arriva, e le due cose sono calcolate da codice diverso. La cifra trascorsa scorre i campi anno, mese e giorno e prende in prestito quando il giorno del mese diventa negativo; il conto alla rovescia ricostruisce lo stesso giorno e mese nell'anno di riferimento, passa al successivo se quella data è già passata, e sottrae. Per un matrimonio legge inoltre due righe delle liste dei regali: l'anno compiuto, che a undici anni dà l'acciaio sia sulla lista britannica sia su quella americana, con la bigiotteria come equivalente moderno, e l'anno in arrivo, che a dodici dà la seta e il lino in Gran Bretagna, la seta negli Stati Uniti, e le perle o gemme colorate nel moderno. L'unica aritmetica davvero difficile in tutto questo è il 29 febbraio, e l'intera sezione seguente riguarda la scelta che questo strumento fa lì.
Contare all'indietro e contare in avanti sono due conti diversi, e il giorno stesso divergono di un anno. Che cosa fa questa calcolatrice con il 29 febbraio, che cosa fanno le altre librerie di date, e da dove vengono davvero le liste dei regali tradizionali e moderni.
29 febbraio più un anno non ha una risposta aritmetica
Nessun calcolo lo risolve, perché la data di arrivo non esiste. Ogni sistema che somma anni a una data ha dovuto scegliere una convenzione, e ce ne sono solo due: riportare all'ultimo giorno che esiste, il che dà il 28 febbraio, oppure lasciar correre il trabocco, il che dà il 1º marzo. Questa calcolatrice riporta indietro. Costruisce l'anniversario chiedendo lo stesso mese e giorno nell'anno di arrivo, verifica se il mese ottenuto è quello richiesto, e arretra il giorno di uno quando non lo è — il che, per una partenza al 29 febbraio, produce il 28 febbraio nel 2021, 2022, 2023, 2025, 2026, 2027, e di nuovo il 29 febbraio nel 2024 e 2028. Non propone mai il 1º marzo, in nessun anno.
È in buona compagnia. LocalDate.plusYears di Java documenta esattamente questa regola e dà lo stesso esempio: 2008-02-29 più un anno sarebbe l'invalido 2009-02-29, quindi si sceglie l'ultimo giorno valido del mese, 2009-02-28. L'API Temporal che sta arrivando in JavaScript fa lo stesso per impostazione predefinita, perché la sua opzione overflow vale constrain, che riporta un valore fuori intervallo al più vicino valido; chiedile reject e solleva un errore invece di scegliere al posto tuo. L'eccezione è l'oggetto Date di JavaScript presente in ogni browser da trent'anni: prendi il 29 febbraio 2020, imposta l'anno al 2021, e ottieni il 1º marzo 2021, perché il ventinovesimo giorno di un febbraio di ventotto giorni trabocca e basta.
Quel riporto ha dentro questo strumento una conseguenza che conviene vedere prima che ti confonda. Imposta una partenza al 29 febbraio 2020 e interrogalo il 28 febbraio 2025. Il conto alla rovescia annuncia che il quinto anniversario è oggi, fra 0 giorni. Il contatore del trascorso, sullo stesso schermo, annuncia 4 anni, 11 mesi e 30 giorni. E la scheda del regalo mostra il quarto anno — frutta e fiori — non il quinto. Le due metà della pagina sono a un anno di distanza, e ciascuna segue correttamente la propria regola: il conto alla rovescia ha riportato l'anniversario al 28 febbraio, mentre il contatore del trascorso rifiuta di dare un anno per compiuto finché il calendario non raggiunge il 1º marzo. Il 1º marzo il trascorso salta a 5 anni esatti e tutto torna a concordare.
Contare all'indietro e contare in avanti sono conti diversi
«Da quanto tempo stiamo insieme» e «quando è il nostro prossimo anniversario» sembrano due viste di un solo numero e non lo sono. La prima è una differenza tra due date, espressa in tre unità che prendono in prestito l'una dall'altra; la seconda è la ricerca della prossima occorrenza futura di una coppia mese-giorno, che nell'anno di arrivo può esistere oppure no. Lo strumento calcola entrambe e le mostra affiancate, e conviene leggere la coppia e non una sola: undici anni trascorsi e un dodicesimo anniversario in arrivo è la situazione normale in tutti i giorni dell'anno tranne il giorno dell'anniversario stesso.
La scomposizione del trascorso è aritmetica di calendario ed eredita ogni irregolarità del calendario. Tre mesi non sono novanta giorni: dal 1º gennaio al 1º aprile 2026 sono 90, dal 1º giugno al 1º settembre 92, e dal 1º febbraio al 1º maggio 89. Tutti e tre appaiono come esattamente 3 mesi sullo schermo, e tutti e tre sono corretti. Il totale in giorni accanto è la cifra da usare per qualsiasi cosa debba tornare, perché è una semplice sottrazione di due mezzanotti e non porta alcuna convenzione.
Da dove vengono davvero le liste dei regali
Questa è la parte che la gente cerca, e va detta senza giri di parole: nessun ente di normazione pubblica alcunché di tutto ciò. La fonte più antica che si possa davvero aprire è l'Etiquette di Emily Post, del 1922, e la sua lista ha otto voci — 1 anno carta, 5 legno, 10 stagno, 15 cristallo, 20 porcellana, 25 argento, 50 oro, 75 diamante — con un paragrafo che nota come i regali di carta, legno e stagno siano di rado altro che scherzi, e come il cristallo sia il primo che qualcuno prenda sul serio. Questo è tutto il canone del 1922. Tutto ciò che sta fra quei traguardi è stato riempito dopo.
Lo strumento porta due colonne tradizionali anziché una, perché la lista britannica e quella americana divergono davvero e fonderle inventerebbe un consenso che non esiste. L'anno sei è zucchero in Gran Bretagna e ferro negli Stati Uniti. L'anno otto è sale e bronzo in Gran Bretagna, bronzo e ceramica negli Stati Uniti. L'anno nove è rame e ceramica in Gran Bretagna, ceramica e vimini negli Stati Uniti. Oltre i venticinque convergono — argento, perla, rubino, oro, diamante — e il disaccordo smette di contare. La terza colonna, quella moderna, è un'altra cosa: lo strumento la attribuisce a una lista pubblicata nel 1937 dall'American National Retail Jeweler Association, attribuzione ripetuta ovunque in rete ma che qui non è stato possibile confermare su una fonte primaria. Leggila come una compilazione commerciale molto diffusa, non come un'origine documentata.
Dove le liste tacciono, lo strumento lo dice invece di riempire il vuoto. Gli anni da sedici a diciannove e da ventuno a ventiquattro non hanno regalo tradizionale in nessuna delle due colonne, e la pagina stampa che nessuna lista ne assegna uno — il che è più utile di una casella vuota, e assai più utile di un materiale inventato per completare la serie.
La scala dei traguardi, e il suo doppione
Accanto all'anniversario lo strumento elenca i sei prossimi numeri tondi che supererai, presi da tre scale insieme: giorni (100, 365, 500, 1000 e fino a 30 000), settimane (da 500 a 3000 a passi di 500) e anni (1, 5, poi ogni cinque fino a 80). Per una partenza al 20 giugno 2015 interrogata il 28 agosto 2026, restituisce 5000 giorni il 26 febbraio 2029, quindici anni il 20 giugno 2030, 6000 giorni il 23 novembre 2031, 7000 giorni il 19 agosto 2034, 1000 settimane il 19 agosto 2034, e vent'anni il 20 giugno 2035.
Rileggi quella lista: due righe portano la stessa data. 7000 giorni sono esattamente 1000 settimane, quindi la scala dei giorni e quella delle settimane si scontrano lì ed entrambe le voci restano, spendendo due dei sei posti disponibili per un solo evento. È l'unico punto in cui le due scale si incontrano — nessun altro traguardo in settimane cade su un traguardo in giorni — quindi è una curiosità di una riga e non un problema sistematico, ma significa che in certe date ti vengono mostrati cinque traguardi distinti anziché sei.
Un dettaglio cosmetico visibile in ogni lingua della pagina: il marcatore ordinale accanto al prossimo anniversario è la e in apice francese, scritta nel codice, così un lettore inglese vede un dodicesimo anniversario scritto «12ᵉ anniversary» e un lettore tedesco «12ᵉ Jahrestag». Nulla è contato male — 12 è 12 — ma il suffisso appartiene a una delle sei lingue e viene stampato in tutte e sei.
| Dove | Risposta | Regola applicata |
|---|---|---|
| Questa calcolatrice | 28 febbraio 2021 | Arretra il giorno di uno quando il mese trabocca |
| Java LocalDate.plusYears | 28 febbraio 2021 | Documentato: si sceglie l'ultimo giorno valido del mese |
| Temporal, overflow predefinito | 28 febbraio 2021 | «constrain» riporta un valore fuori intervallo al più vicino valido |
| Temporal con overflow: reject | Un errore | Si rifiuta di scegliere e ti rimanda la decisione |
| Oggetto Date di JavaScript | 1º marzo 2021 | Il 29º giorno di un febbraio di 28 giorni trabocca nel mese dopo |
| Il prossimo 29 febbraio vero | 29 febbraio 2024 | Quattro anni dopo; la calcolatrice propone questa data negli anni bisestili |
Domande frequenti
- Che cosa fa questa calcolatrice con un anniversario del 29 febbraio?
- Lo riporta al 28 febbraio negli anni ordinari e lo mantiene al 29 febbraio in quelli bisestili. Fai passare una partenza al 29 febbraio 2020 su un decennio e ottieni il 28 febbraio nel 2021, 2022, 2023, 2025, 2026, 2027, 2029 e 2030, con il 29 febbraio nel 2024 e 2028. Non propone mai il 1º marzo. Una conseguenza da tenere d'occhio: il 28 febbraio di un anno non bisestile il conto alla rovescia ti dirà che l'anniversario è oggi mentre il contatore del trascorso segna ancora un anno in meno, perché questo chiude l'anno solo quando il calendario arriva al 1º marzo.
- Perché dice undici anni trascorsi e un dodicesimo anniversario in arrivo?
- Perché sono due domande diverse. Gli anni trascorsi contano ciò che è finito: sono passati undici anni pieni. Il prossimo anniversario numera quello che sta per arrivare, e quello che sta per arrivare è il dodicesimo. È esattamente come un compleanno: si hanno undici anni per tutto l'anno che termina nel dodicesimo. Le due cifre coincidono solo il giorno dell'anniversario, quando il conto alla rovescia segna zero giorni e gli anni trascorsi recuperano.
- Perché «3 mesi» non sono ogni volta lo stesso numero di giorni?
- Perché il mese non è un'unità di lunghezza fissa, e la scomposizione del trascorso è aritmetica di calendario, non una divisione. Dal 1º gennaio al 1º aprile 2026 ci sono 90 giorni, dal 1º giugno al 1º settembre 92, dal 1º febbraio al 1º maggio 89 — tutti e tre appaiono come esattamente 3 mesi, e tutti e tre sono giusti. Se ti serve una cifra che torni o che si confronti tra periodi, usa il totale in giorni accanto: quello è una sottrazione netta di due mezzanotti e non porta alcuna convenzione.
- Da dove vengono le liste dei regali tradizionali e moderni?
- Dalla letteratura di galateo e, più tardi, dal commercio della gioielleria — da nessun ente di normazione. La lista più antica che puoi leggere di persona sta nell'Etiquette di Emily Post del 1922, e ha otto voci: carta a un anno, legno a cinque, stagno a dieci, cristallo a quindici, porcellana a venti, argento a venticinque, oro a cinquanta e diamante a settantacinque. Tutto ciò che riempie i vuoti è arrivato dopo, e le liste tradizionali britannica e americana divergono a sei, otto e nove anni, motivo per cui lo strumento le mostra in due colonne invece di fonderle. La colonna moderna è largamente attribuita a una pubblicazione di categoria del 1937; quell'attribuzione qui non ha potuto essere verificata su una fonte primaria.
- Perché due righe dei traguardi mostrano la stessa data?
- Perché 7000 giorni e 1000 settimane sono lo stesso istante, e lo strumento ricava i suoi traguardi da una scala in giorni e da una in settimane insieme, senza verificare se le due si scontrano. Si scontrano esattamente una volta — nessun altro traguardo in settimane cade su un traguardo in giorni nelle sue liste — quindi ti costa uno dei sei posti, nell'unica occasione in cui accade. Nulla è calcolato male; ti vengono semplicemente mostrati cinque eventi distinti anziché sei attorno a quella data.
Articoli che potrebbero interessarti
Tutte le guide →Strumenti correlati
Questo descrive ciò che queste calcolatrici fanno oggi, verificato eseguendo il loro stesso codice, e non ciò che dovrebbero fare. Il raffreddamento da vento e il punto di rugiada sono modelli con limiti pubblicati, non misure: nessun termometro legge un raffreddamento da vento, e nessuno dei due indici sostituisce un bollettino ufficiale o un'allerta per freddo o caldo del servizio meteorologico nazionale. Se stai decidendo se sia prudente uscire, e per quanto, leggi l'allerta, non la calcolatrice. Le convenzioni di orologio e di calendario descritte qui sono usi, non diritto: il modo in cui un contratto, un'assicurazione o un giudice legge «mezzanotte» o una data di anniversario è una questione giuridica che cambia da paese a paese, e la risposta di un software non ne è una prova.
Fonti
- Project Gutenberg — Emily Post, Etiquette in Society, in Business, in Politics and at Home (1922) — The “Wedding Anniversaries” list as it stood in 1922, with eight entries — 1 year paper, 5 wood, 10 tin, 15 crystal, 20 china, 25 silver, 50 gold, 75 diamond — and the remark that paper, wooden and tin presents are seldom anything but jokes, crystal being the earliest taken seriously
- Oracle — Java SE API documentation — java.time.LocalDate, plusYears(long) — “2008-02-29 (leap year) plus one year would result in the invalid date 2009-02-29 (standard year). Instead of returning an invalid result, the last valid day of the month, 2009-02-28, is selected instead.”
- TC39 — Temporal proposal documentation — Temporal.PlainDate — the overflow option: in “constrain” mode, the default, out-of-range values are clamped to the nearest in-range value; in “reject” mode an out-of-range addition throws a RangeError instead
Hai notato un errore in questo articolo?