Vai al contenuto

Calcolatore di Età — Età Esatta in Anni, Mesi e Giorni

Calcolatore di età gratuito: inserisci la tua data di nascita per ottenere la tua età esatta in anni, mesi e giorni, più settimane, giorni, ore totali e il tuo prossimo compleanno.

Calcolatore di Età

Età esatta
36 anni 7 mesi 26 giorni

Sei nato di Monday

Prossimo compleanno: 127 giorni (compiendo 37)

La tua età in altre unità

Mesi
439
Settimane
1,912
Giorni
13,387
Ore
321,288
Minuti
19,277,280
Secondi
1,156,636,800

Progresso della vita

La tua età rispetto a un intervallo di riferimento illustrativo di 80 anni.

Visualizzazione dell'età3636 / 80 anni080
Calcolatore di caricamento...
📚

Documentazione

Che cos'è un calcolatore dell'età?

Un calcolatore dell'età determina il tempo esatto tra due date: una data di nascita e una data obiettivo, di solito quella odierna. Riporta il risultato in anni, mesi e giorni, oltre che come totale progressivo in mesi, settimane, giorni, ore, minuti e secondi. L'età può essere calcolata anche per una data passata o futura, mostrando quanti anni aveva o avrà una persona in quel giorno.

Come si calcola l'età

L'età è l'intervallo tra due date del calendario. Esistono due modi corretti per descrivere tale intervallo, ed entrambi sono utili per scopi diversi.

Età anagrafica (anni, mesi, giorni)

È il modo consueto con cui si indica l'età, per esempio «33 anni, 4 mesi e 5 giorni». Si calcola in tre passaggi:

  1. Contare gli anni interi trascorsi dalla data di nascita.
  2. Contare, a partire dall'ultimo compleanno, i mesi interi trascorsi.
  3. Da quel punto, contare i giorni rimanenti.

Il passaggio 3 diventa problematico verso la fine di un mese, perché i mesi non hanno tutti lo stesso numero di giorni. Una persona nata il 31 gennaio, la cui età viene calcolata il 1 marzo, ha 1 mese e 1 giorno. Un mese dopo il 31 gennaio è il 28 febbraio (o il 29 febbraio in un anno bisestile), poiché non esiste il 31 febbraio. Il 1 marzo è un giorno dopo. Questo metodo, talvolta chiamato regola relativedelta dal nome della libreria Python che lo ha reso popolare, limita la data dell'anniversario all'ultimo giorno del mese più breve, così il conteggio dei giorni non diventa mai negativo.

Tempo totale trascorso (giorni, ore, secondi)

Per un conteggio preciso del tempo vissuto, entrambe le date vengono convertite in un unico punto nel tempo e la differenza viene calcolata in giorni interi:

d=⌊t−b86400000⌋d = \left\lfloor \frac{t - b}{86400000} \right\rfloor

dove d è il numero di giorni interi, t la data di riferimento e b la data di nascita, ciascuno espresso come numero di millisecondi; il divisore è il numero di millisecondi contenuti in un giorno.

Prima della sottrazione, entrambe le date vengono impostate alla mezzanotte UTC (Tempo coordinato universale). In questo modo, i cambiamenti dell'ora legale non aggiungono né sottraggono un'ora falsando il conteggio dei giorni. Dal totale dei giorni, le settimane si ottengono dividendo i giorni per 7 e arrotondando per difetto. Le ore, i minuti e i secondi si ottengono moltiplicando il numero di giorni per 24, 1.440 e 86.400.

Dividere il totale dei giorni per 365 o 365,25 dà un'età approssimativa in anni, ma non tiene conto di quali anni dell'intervallo fossero bisestili. Il conteggio secondo il calendario, descritto sopra, è esatto. Usare l'età anagrafica per rispondere alla domanda «quanti anni ho?». Usare il totale dei giorni o delle settimane per le attività che richiedono un tempo trascorso preciso, come stabilire gli intervalli delle dosi di un farmaco o il conto alla rovescia verso una ricorrenza.

Esempio di calcolo

Una persona nata il 1 gennaio 2000, con età calcolata il 1 gennaio 2020:

MisuraValore
Età anagrafica20 anni, 0 mesi, 0 giorni
Mesi totali240
Settimane totali1.043
Giorni totali7.305
Ore totali175.320
Minuti totali10.519.200
Secondi totali631.152.000
Giorno della settimana di nascitaSabato

Il totale di 7.305 giorni equivale a 20 × 365 più 5 giorni bisestili, relativi agli anni bisestili 2000, 2004, 2008, 2012 e 2016. Ciascuno di questi anni ha aggiunto un febbraio di 29 giorni che rientra nell'intervallo di 20 anni. Per questo il conteggio dei giorni è maggiore di un semplice 20 × 365 e calcolarlo a mano può facilmente produrre un errore di alcuni giorni.

Formula per il calcolo dell'età nel codice

Il metodo dell'età anagrafica descritto sopra può essere implementato nella maggior parte dei linguaggi di programmazione. Usare una libreria di date integrata è più sicuro che scrivere manualmente le regole per gli anni bisestili e la durata dei mesi.

1from dateutil.relativedelta import relativedelta
2from datetime import date
3
4birth, target = date(2000, 1, 1), date(2020, 1, 1)
5
6age = relativedelta(target, birth)     # calendar age
7print(f"{age.years}y {age.months}m {age.days}d")
8
9total_days = (target - birth).days     # total elapsed days
10print(total_days)                      # 7305
11

Microsoft avverte che l'argomento "md" può restituire un numero negativo o un conteggio dei giorni errato vicino ai confini dei mesi, quindi la parte dei giorni residui di quella formula non corrisponde sempre alla regola di limitazione descritta sopra.

Domande frequenti

Come faccio a trovare la mia età esatta? Inserire una data di nascita e lasciare la data obiettivo impostata su oggi. Il risultato mostra l'età in anni, mesi e giorni, oltre alla stessa età espressa come totale di giorni, settimane, ore e secondi.

Perché due calcolatori dell'età danno risultati diversi? Di solito la differenza riguarda il modo in cui vengono conteggiati i giorni residui vicino alla fine di un mese. Un calcolatore che limita la data al mese più breve alla fine del mese, come descritto sopra, può differire di uno o due giorni da uno che si limita a dividere il tempo trascorso per 30.

Il calcolo tiene conto degli anni bisestili? Sì. Il conteggio totale dei giorni include ogni febbraio di 29 giorni compreso tra le due date. In un anno senza un febbraio di 29 giorni, l'anniversario di una nascita avvenuta in un giorno bisestile viene considerato il 28 febbraio, cioè l'ultimo giorno di quel mese. Una persona nata il 29 febbraio 1996 ha 26 anni, 11 mesi e 22 giorni il 20 febbraio 2023, e il compleanno successivo cade 8 giorni dopo, il 28 febbraio 2023.

È possibile calcolare l'età per una data passata o futura? Sì. Impostare la data obiettivo su una data futura mostra quanti anni avrà una persona quel giorno. Impostarla su una data passata mostra quanti anni aveva. La data di nascita non può essere nel futuro e la data obiettivo non può precedere la data di nascita.

I fusi orari influenzano il risultato? No. Entrambe le date vengono convertite nella mezzanotte UTC prima del conteggio dei giorni, quindi il totale rimane invariato indipendentemente dalla posizione dell'utente o dai cambiamenti dell'ora legale.

Perché il conteggio dei giorni differisce dalla divisione dei giorni per 365,25? 365,25 è soltanto la durata media di un anno; non tiene traccia di quali anni specifici dell'intervallo siano anni bisestili di 366 giorni. Contare i giorni interi tra due date reali del calendario è esatto.

Fonti

  1. Python dateutil — relativedelta, la regola del mese e del giorno per l'età anagrafica descritta sopra.
  2. Piattaforma Java — Period.between e ChronoUnit.DAYS.
  3. Microsoft Excel — funzione DATEDIF.
  4. MDN Web Docs — Date.
  5. Dershowitz, N., e Reingold, E. M. Calendrical Calculations: The Ultimate Edition. Cambridge University Press, 2018.