C# – How to calculate someone’s age based on a DateTime type birthday


Given a DateTime representing a person's birthday, how do I calculate their age in years?

Best Solution

An easy to understand and simple solution.

// Save today's date.
var today = DateTime.Today;

// Calculate the age.
var age = today.Year - birthdate.Year;

// Go back to the year in which the person was born in case of a leap year
if (birthdate.Date > today.AddYears(-age)) age--;

However, this assumes you are looking for the western idea of the age and not using East Asian reckoning.