How to Calculate age from Date of Birth in C#

This article for those who wants to get age from date of birth

  1. DateTime dob = Convert.ToDateTime("1988/12/20");  
  2. string text = CalculateYourAge(dob);  
  3. int age = CalculateAge(dob);  
  4.   
  5. /// <summary>  
  6. /// For calculating age  
  7. /// </summary>  
  8. /// <param name="Dob">Enter Date of Birth to Calculate the age</param>  
  9. /// <returns> years, months,days, hours...</returns>  
  10. static string CalculateYourAge(DateTime Dob) {  
  11.     DateTime Now = DateTime.Now;  
  12.     int Years = new DateTime(DateTime.Now.Subtract(Dob).Ticks).Year - 1;  
  13.     DateTime PastYearDate = Dob.AddYears(Years);  
  14.     int Months = 0;  
  15.     for (int i = 1; i <= 12; i++) {  
  16.         if (PastYearDate.AddMonths(i) == Now) {  
  17.             Months = i;  
  18.             break;  
  19.         } else if (PastYearDate.AddMonths(i) >= Now) {  
  20.             Months = i - 1;  
  21.             break;  
  22.         }  
  23.     }  
  24.     int Days = Now.Subtract(PastYearDate.AddMonths(Months)).Days;  
  25.     int Hours = Now.Subtract(PastYearDate).Hours;  
  26.     int Minutes = Now.Subtract(PastYearDate).Minutes;  
  27.     int Seconds = Now.Subtract(PastYearDate).Seconds;  
  28.     return String.Format("Age: {0} Year(s) {1} Month(s) {2} Day(s) {3} Hour(s) {4} Second(s)",  
  29.     Years, Months, Days, Hours, Seconds);  
  30. }   
Output
Age: 26 Year(s) 5 Month(s) 5 Day(s) 16 Hour(s) 56 Second(s)
  1.  /// <summary>  
  2. /// For calculating only age  
  3. /// </summary>  
  4. /// <param name="dateOfBirth">Date of birth</param>  
  5. /// <returns> age e.g. 26</returns>  
  6. private static int CalculateAge(DateTime dateOfBirth)  
  7. {  
  8.     int age = 0;  
  9.     age = DateTime.Now.Year - dateOfBirth.Year;  
  10.     if (DateTime.Now.DayOfYear < dateOfBirth.DayOfYear)  
  11.         age = age - 1;  
  12.   
  13.     return age;  
  14. }  
Output
 
age= 26