根据出生日期计算年龄
/// <summary>
/// 根据出生日期计算年龄
/// </summary>
/// <param name="dtNow">当前时间</param>
/// <param name="dtDOB">出生日期</param>
/// <returns></returns>
public static string GetAge(DateTime dtNow,DateTime dtBirthday)
{
string strAge = string.Empty; // 年龄的字符串表示
int intYear = 0; // 岁
int intMonth = 0; // 月
int intDay = 0; // 天
// 计算天数
intDay = dtNow.Day - dtBirthday.Day;
if (intDay < 0)
{
dtNow = dtNow.AddMonths(-1);
intDay += DateTime.DaysInMonth(dtNow.Year, dtNow.Month);
}
// 计算月数
intMonth = dtNow.Month - dtBirthday.Month;
if (intMonth < 0)
{
intMonth += 12;
dtNow = dtNow.AddYears(-1);
}
// 计算年数
intYear = dtNow.Year - dtBirthday.Year;
// 格式化年龄输出
if (intYear >= 1) // 年份输出
{
strAge = intYear.ToString() + "岁";
}
if (intMonth > 0 && intYear <1) // 1岁以下可以输出月数
{
strAge += intMonth.ToString() + "月";
}
if (intDay >= 0 && intMonth < 1) // 1个月以下可以输出天数
{
if (strAge.Length == 0 || intDay > 0)
{
strAge += intDay.ToString() + "天";
}
}
return strAge;
}
直接调用方法就可以了。