首页 > 技术文章 > C# 根据生日获取年龄

ocean-wang 2019-06-05 15:07 原文

C# 根据生日获取年龄

    根据生日计算出准确的年龄,不等于0时,返回的是岁,等于0时,返回的是天(以‘-’来区分)

 

public static string GetAgeByBirth(string Birthdate)
    {
        string ages = string.Empty;
        try
        {
            //年龄格式化
            DateTimeFormatInfo dtFormat = new DateTimeFormatInfo();
            dtFormat.ShortDatePattern = "yyyy-MM-dd";
            DateTime dt = Convert.ToDateTime(Birthdate, dtFormat);
            int age = DateTime.Now.Year - dt.Year;
            if (DateTime.Now.Month < dt.Month || (DateTime.Now.Month == dt.Month && DateTime.Now.Day < dt.Day)) age--;
            TimeSpan ts = DateTime.Now - dt;
            ages = age == 0 ? "-" + ts.Days : age.ToString();
        }
        catch(Exception ex)
        {
            BuildLogFile(ex.Message);
        }
        
        return ages;
    }

 

推荐阅读