This article for those who wants to get age from date of birth
DateTime dob = Convert.ToDateTime("1988/12/20");
string text = CalculateYourAge(dob);
int age = CalculateAge(dob);
/// <summary>
/// For calculating age
/// </summary>
/// <param name="Dob">Enter Date of Birth to Calculate the age</param>
/// <returns> years, months,days, hours...</returns>
static string CalculateYourAge(DateTime Dob) {
DateTime Now = DateTime.Now;
int Years = new DateTime(DateTime.Now.Subtract(Dob).Ticks).Year - 1;
DateTime PastYearDate = Dob.AddYears(Years);
int Months = 0;
for (int i = 1; i <= 12; i++) {
if (PastYearDate.AddMonths(i) == Now) {
Months = i;
break;
} else if (PastYearDate.AddMonths(i) >= Now) {
Months = i - 1;
break;
}
}
int Days = Now.Subtract(PastYearDate.AddMonths(Months)).Days;
int Hours = Now.Subtract(PastYearDate).Hours;
int Minutes = Now.Subtract(PastYearDate).Minutes;
int Seconds = Now.Subtract(PastYearDate).Seconds;
return String.Format("Age: {0} Year(s) {1} Month(s) {2} Day(s) {3} Hour(s) {4} Second(s)",
Years, Months, Days, Hours, Seconds);
}
Output
Age: 26 Year(s) 5 Month(s) 5 Day(s) 16 Hour(s) 56 Second(s)
/// <summary>
/// For calculating only age
/// </summary>
/// <param name="dateOfBirth">Date of birth</param>
/// <returns> age e.g. 26</returns>
private static int CalculateAge(DateTime dateOfBirth)
{
int age = 0;
age = DateTime.Now.Year - dateOfBirth.Year;
if (DateTime.Now.DayOfYear < dateOfBirth.DayOfYear)
age = age - 1;
return age;
}
Output
age= 26
