c# 判断年龄精确到日

 public static int GetAgeByIdCard(string idCard)
        {
            int age = -1;
            if (!string.IsNullOrWhiteSpace(idCard))
            {
                var subStr = string.Empty;
                if (idCard.Length == 18)
                {
                    subStr = idCard.Substring(6, 8).Insert(4, "-").Insert(7, "-");
                }
                else if (idCard.Length == 15)
                {
                    subStr = ("19" + idCard.Substring(6, 6)).Insert(4, "-").Insert(7, "-");
                }
                DateTime ageTime = Convert.ToDateTime(subStr);
                DateTime now = DateTime.Now;
                age = now.Year - ageTime.Year;
                if (now.Month < ageTime.Month || (now.Month == ageTime.Month && now.Day < ageTime.Day))
                {
                    age--;
                }
            }
            return age < 0 ? 0 : age;
        }
View Code

 

posted @ 2020-08-17 15:53  低调码农哥!  阅读(272)  评论(0编辑  收藏  举报