根据当前时间计算年龄的函数

因项目中的需要,年龄不是用户填写的,而是根据当天的时间(根据服务器的时间来,所以服务器的时间别弄错了)来计算他今天几岁了,是满了生日那天才算了一岁,也就是说出生到时候是0,如果需要变更,做少许修改就行。

函数如下:

  1. #region 计算年龄
  2.         /// <summary>
  3.         /// 计算年龄
  4.         /// </summary>
  5.         /// <param name="birthDay">出生日期</param>
  6.         /// <returns></returns>
  7.         public static int CaculateAge(string birthDay)
  8.         {
  9.             int iAge = 0;//初始化年龄数据
  10.             if(birthDay != "")
  11.             {
  12.                 DateTime dtBirthDay = DateTime.Parse(birthDay);
  13.                 DateTime dtNow = DateTime.Now;
  14.                 if(dtNow.Year > dtBirthDay.Year)//现在的年比出生年大
  15.                 {
  16.                     iAge += dtNow.Year - dtBirthDay.Year - 1;
  17.                     if(dtNow.Month > dtBirthDay.Month)//现在的月比出生月大
  18.                     {
  19.                         ++ iAge;
  20.                     }
  21.                     else if(dtNow.Month == dtBirthDay.Month)//现在的月与出生月一样
  22.                     {
  23.                         if(dtNow.Day >= dtBirthDay.Day)//现在的日比出生日大
  24.                         {
  25.                             ++ iAge;
  26.                         }
  27.                     }
  28.                 }
  29.             }
  30.             return iAge;
  31.         }
  32.         #endregion

参数是用的string,如果觉得不好,可以换做DataTime这样也行。这里没有做字符串不是日期格式的异常处理,需要的加上就OK了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值