Avatar ·

Comment calculer l'âge d'une personne à partir de sa date de naissance en C# ?

Bonjour à tous ! Je suis un développeur C# débutant et j'ai rencontré une tâche apparemment simple : calculer l'âge d'un utilisateur à partir de sa date de naissance. J'ai une variable `DateTime birthday` (par exemple, `new DateTime(1990, 5, 15)`), et j'ai besoin d'obtenir un entier représentant le nombre d'années révolues à ce jour. J'ai essayé la méthode la plus évidente : soustraire la date de naissance de la date actuelle et prendre la différence en années : ```csharp DateTime today = DateTime.Today; int age = today.Year - birthday.Year; ``` Mais cela ne fonctionne pas correctement ! Si l'anniversaire de la personne n'est pas encore passé cette année, l'âge est surestimé d'un an. Par exemple, si aujourd'hui nous sommes le 1er janvier 2025 et que l'anniversaire est le 15 mai 1990, mon code donnera 35 ans, alors qu'en réalité la personne en a encore 34. J'ai aussi essayé d'utiliser `TimeSpan` : ```csharp TimeSpan difference = today - birthday; int age = (int)(difference.TotalDays / 365.25); ``` Mais cela donne des résultats imprécis à cause des années bissextiles et des arrondis. Dites-moi, comment faire correctement ?