In C#, how do I calculate someone's age based on a DateTime type birthday?

Jeff Atwood picture Jeff Atwood · Aug 1, 2008 · Viewed 641.5k times · Source

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

Answer

Mike Polen picture Mike Polen · Aug 4, 2008

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.