
Âge exact
Calculer un âge en années, mois et jours à une date de référence choisie.
Vos dates et horaires restent dans votre navigateur et ne sont pas enregistrés.
Méthode et hypothèses
Version de méthode 1.0.0 · Mise à jour
Âge à une date
Formule: Mois calendaires complets → années + mois ; reste en jours
Calendrier grégorien, dates civiles de 0001 à 9999, sans heure ni fuseau horaire. Les anniversaires mensuels restent ancrés sur le jour de naissance, limité au dernier jour des mois plus courts. Le 29 février devient le 28 février les années non bissextiles. Convention de calcul, pas une détermination d’âge légal. Exemple : du 31 janvier au 29 février 2024 = 0 an, 1 mois, 0 jour.
- birth
- Date de naissance
- reference
- Date de référence
Calendrier grégorien de 0001 à 9999. Les conventions de date, de durée et d’arrondi sont précisées pour chaque mode.
Reproduire le calcul en code
Ces exemples utilisent les mêmes entrées et le même calcul de base que cet outil. Adaptez la validation et le formatage à votre application.
JavaScript
const birth = new Date('2000-01-15T00:00:00Z');
const today = new Date('2026-01-20T00:00:00Z');
let years = today.getUTCFullYear() - birth.getUTCFullYear();
if (today.getUTCMonth() < birth.getUTCMonth() || (today.getUTCMonth() === birth.getUTCMonth() && today.getUTCDate() < birth.getUTCDate())) years--;
console.log(years); // 26 complete yearsTypeScript
const birth = new Date('2000-01-15T00:00:00Z');
const today = new Date('2026-01-20T00:00:00Z');
let years: number = today.getUTCFullYear() - birth.getUTCFullYear();
if (today.getUTCMonth() < birth.getUTCMonth() || (today.getUTCMonth() === birth.getUTCMonth() && today.getUTCDate() < birth.getUTCDate())) years--;
console.log(years); // 26 complete yearsPython
from datetime import date
birth, today = date(2000, 1, 15), date(2026, 1, 20)
years = today.year - birth.year - ((today.month, today.day) < (birth.month, birth.day))
print(years) # 26 complete yearsJava
var birth = java.time.LocalDate.of(2000, 1, 15);
var today = java.time.LocalDate.of(2026, 1, 20);
System.out.println(java.time.Period.between(birth, today).getYears()); // 26C#
var birth = new DateOnly(2000, 1, 15);
var today = new DateOnly(2026, 1, 20);
int years = today.Year - birth.Year - (today < birth.AddYears(today.Year - birth.Year) ? 1 : 0);
Console.WriteLine(years); // 26