Sottrarre due date sembra aritmetica. È aritmetica su un calendario costruito da compromessi tra astronomia e politica, ed è per questo che "quanti anni ha questa persona" ha più di una risposta difendibile e per questo le librerie di date sono molto più grandi di quanto ti aspetteresti.
Perché anni, mesi e giorni non è un numero solo
Questo strumento riporta l'età in due modi, e rispondono a domande diverse. Anni-mesi-giorni cammina sul calendario: quanti anni interi ci stanno, poi quanti mesi interi, poi il resto in giorni. I giorni totali contano i giorni davvero trascorsi. Nessuno dei due si converte pulitamente nell'altro, perché i mesi non hanno lunghezza fissa.
Il calcolo fa il prestito come la sottrazione su carta. Se il giorno del mese non è ancora arrivato, prende in prestito la lunghezza del mese precedente — che è 28, 29, 30 o 31 a seconda di dove ti trovi. È per questo che "1 mese e 3 giorni" indica un intervallo leggermente diverso a febbraio e a luglio, e per questo i giorni totali divisi per 30 non andranno mai del tutto d'accordo col numero dei mesi.
Il 29 febbraio non ha una risposta universalmente corretta
Chi è nato il 29 febbraio ha un compleanno che esiste una volta ogni quattro anni. Ogni calcolatore deve decidere cosa fare negli altri tre, e non esiste una risposta semplicemente giusta.
Questo eredita il comportamento di JavaScript: chiedere il 29 febbraio 2026 produce il 1° marzo 2026, perché la data trabocca in avanti quando il giorno non esiste. Quindi un compleanno bisestile mostra la sua prossima ricorrenza al 1° marzo negli anni comuni. È una scelta difendibile e coincide con come parecchie persone festeggiano davvero — ma è una scelta, non un fatto.
Nemmeno la legge è d'accordo con sé stessa. Nel Regno Unito, chi è nato il 29 febbraio compie legalmente gli anni il 1° marzo negli anni comuni. In buona parte dell'Europa continentale la convenzione cade sul 28 febbraio. Taiwan dice 28 febbraio; Hong Kong dice 1° marzo. Stessa data di nascita, stesso calendario, risposta legale diversa a seconda di dove ti trovi.
L'età in anni interi non ne risente: chi è nato il 29 febbraio 2000 ha 25 anni a luglio 2025 sotto ogni convenzione. È solo il giorno esatto del passaggio a essere conteso, e solo per una persona su circa 1.461.
L'aritmetica dei mesi è ambigua, non solo scomoda
Chiedi quanto faccia il 31 gennaio più un mese e non c'è una risposta corretta. Il 28 febbraio conserva il "fine mese" ma perde tre giorni. Il 3 marzo conserva l'intervallo ma rompe l'intuizione che aggiungere un mese debba atterrare nel mese successivo. Librerie diverse fanno scelte diverse, ed entrambe sono sbagliate per qualcuno.
Vale la pena saperlo perché salta fuori in cose che contano: rinnovi di abbonamento, termini contrattuali, periodi di preavviso. Se stai calcolando una data a cui sono attaccati dei soldi, scopri quale convenzione intenda il contratto invece di quella che la tua libreria di date fa per caso, perché non sono tenute a coincidere.
Il calendario stesso ha un buco
Per date abbastanza lontane, "quanti giorni fa" smette di essere una domanda ben formata. Il calendario gregoriano ha sostituito quello giuliano nel 1582, e dieci giorni sono stati semplicemente cancellati: nei paesi cattolici, al 4 ottobre è seguito il 15 ottobre. Quei giorni non esistono.
Paesi diversi hanno cambiato in momenti selvaggiamente diversi. La Gran Bretagna e le sue colonie hanno resistito fino al 1752, quando lo scarto era ormai di undici giorni; la Russia è passata nel 1918, la Grecia nel 1923. Quindi i giorni trascorsi tra due date storiche dipendono da dove quelle date sono state registrate, ed è per questo che i genealogisti scrivono cose come "O.S." e "N.S." accanto alle date. Ogni normale calcolatore di date, questo incluso, proietta all'indietro per sempre il calendario gregoriano di oggi e ignora in silenzio tutto ciò. Per date dentro una vita umana non conta. Per qualsiasi cosa prima del Settecento, conta.
Domande frequenti
La mia data di nascita viene inviata a un server?
No. Questo strumento è marcato "client": l'aritmetica avviene nella scheda del tuo browser e la data non viene trasmessa né salvata. Vale la pena dirlo per questo strumento in particolare: una data di nascita è uno degli identificatori standard usati per verificare chi sei, il che la rende più preziosa di quanto sembri.
Perché i giorni totali non sono anni per 365?
Gli anni bisestili. Su 25 anni ce ne sono sei o sette a seconda di dove cadono le date, quindi il totale si discosta di circa una settimana dalla moltiplicazione ingenua. Un anno è in media 365,2425 giorni, che è a sua volta un'approssimazione scelta per tenere il calendario allineato alle stagioni — il motivo della regola scomoda per cui gli anni secolari non sono bisestili a meno che non siano divisibili per 400.
Gestisce i fusi orari?
Lavora nel tuo calendario locale, deliberatamente. Una data di nascita è una data, non un istante: sei nato in un giorno, in un posto, e quel giorno non si sposta perché qualcuno a Tokyo sta leggendo la pagina. Trattare un compleanno come un timestamp è ciò che produce il classico errore per cui l'età di qualcuno cambia all'una di notte, e questo lo evita non convertendo mai in un istante.
Legalmente, in che giorno cade un compleanno bisestile?
Dipende dalla giurisdizione, e non esiste una risposta internazionale. Il Regno Unito dice 1° marzo, buona parte dell'Europa continentale dice 28 febbraio, e altrove varia. Per qualsiasi cosa abbia peso legale — maggiore età, un termine contrattuale, una soglia di ammissibilità — controlla la regola che vale dove conta. Questo strumento mostra il 1° marzo, che è una delle due risposte comuni, non quella universale.
Posso calcolare l'età a una data passata o futura?
Sì: la data di riferimento è oggi per default ma puoi impostarla a qualsiasi cosa. È il caso utile per le domande di ammissibilità: quanti anni avrà questa persona il primo giorno di scuola, oppure era abbastanza grande alla data del contratto. Sono entrambe domande su una data che non è oggi, ed entrambe sono il motivo per cui quel campo esiste.