如何计算来自dob的年龄在c#中

这个问题在这里已经有了答案:

  • 我如何用C#计算某人的年龄? 64个答案

  • 您可以使用TimeSpan来计算它,例如:

    DateTime dob = .....
    DateTime Today = DateTime.Now;
    TimeSpan ts = Today - dob;
    DateTime Age = DateTime.MinValue + ts;
    
    
    // note: MinValue is 1/1/1 so we have to subtract...
    int Years = Age.Year - 1;
    int Months = Age.Month - 1;
    int Days = Age.Day - 1;
    

    资料来源:http://forums.asp.net/t/1289294.aspx/1


    DateTime today = DateTime.Today;
    
    int age = today.Year - bday.Year;
    
    if (bday > today.AddYears(-age))
     age--;
    

    [更新]:考虑闰年使用365.242而不是365.你应该是好的,直到我相信2799年。

    DateTime有一个运算符重载,当你使用减运算符时,你得到一个TimeSpan实例。

    所以你只会这样做:

    DateTime dob = ..
    TimeSpan tm = DateTime.Now - dob;
    int years = ((tm.Days)/365);
    

    你的代码应该看起来像这样:

    private void button1_Click(object sender, EventArgs e)
    {
        DateTime dob = //get this some somewhere..
        textBox1.Text = dob.ToString();
        TimeSpan tm = (DateTime.Now - dob);
        int age = (tm.Days/365) ;
    }
    

    TimeSpan结构表示一个时间间隔,它具有像DaysHoursSeconds等属性,所以如果需要的话可以使用它们。

    链接地址: http://www.djcxy.com/p/54349.html

    上一篇: How to calculate age in years from dob in c#

    下一篇: How to calculate an age based on a birthday?