[C#] C#根据出生日期和当前日期计算精确年龄 →→→→→进入此内容的聊天室

来自 , 2020-11-16, 写在 C#, 查看 102 次.
URL http://www.code666.cn/view/aedf8c04
  1. public static string GetAge(DateTime dtBirthday, DateTime dtNow)
  2.         {
  3.             string  strAge      = string.Empty;                         // 年龄的字符串表示
  4.             int     intYear     = 0;                                    // 岁
  5.             int     intMonth    = 0;                                    // 月
  6.             int     intDay      = 0;                                    // 天
  7.  
  8.             // 如果没有设定出生日期, 返回空
  9.             if (DataType.DateTime_IsNull(ref dtBirthday) == true)
  10.             {
  11.                 return string.Empty;
  12.             }
  13.            
  14.             // 计算天数
  15.             intDay = dtNow.Day - dtBirthday.Day;
  16.             if (intDay < 0)
  17.             {
  18.                 dtNow = dtNow.AddMonths(-1);
  19.                 intDay += DateTime.DaysInMonth(dtNow.Year, dtNow.Month);
  20.             }
  21.            
  22.             // 计算月数
  23.             intMonth = dtNow.Month - dtBirthday.Month;
  24.             if (intMonth < 0)
  25.             {
  26.                 intMonth += 12;
  27.                 dtNow = dtNow.AddYears(-1);
  28.             }
  29.            
  30.             // 计算年数
  31.             intYear = dtNow.Year - dtBirthday.Year;
  32.            
  33.             // 格式化年龄输出
  34.             if (intYear >= 1)                                            // 年份输出
  35.             {
  36.                 strAge = intYear.ToString() + "岁";
  37.             }
  38.            
  39.             if (intMonth > 0 && intYear <= 5)                           // 五岁以下可以输出月数
  40.             {
  41.                 strAge += intMonth.ToString() + "月";
  42.             }
  43.            
  44.             if (intDay >= 0 && intYear < 1)                              // 一岁以下可以输出天数
  45.             {
  46.                 if (strAge.Length == 0 || intDay > 0)
  47.                 {
  48.                     strAge += intDay.ToString() + "日";
  49.                 }
  50.             }
  51.            
  52.             return strAge;
  53.         }
  54. //csharp/8461

回复 "C#根据出生日期和当前日期计算精确年龄"

这儿你可以回复上面这条便签

captcha