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
原文地址:https://www.cnblogs.com/personblog/p/13518092.html