Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从c中的dob计算年龄(以年为单位)# private void按钮1\u单击(对象发送者,事件参数e) { DateTime dob=新的DateTime(); textBox1.Text=dob.ToString(); 智力年龄; 年龄=转换为32(textbox2.Text); 年龄=DateTime.Now.Year-出生年份; if(DateTime.Now.DayOfYear_C#_Asp.net_Dob - Fatal编程技术网

C# 如何从c中的dob计算年龄(以年为单位)# private void按钮1\u单击(对象发送者,事件参数e) { DateTime dob=新的DateTime(); textBox1.Text=dob.ToString(); 智力年龄; 年龄=转换为32(textbox2.Text); 年龄=DateTime.Now.Year-出生年份; if(DateTime.Now.DayOfYear

C# 如何从c中的dob计算年龄(以年为单位)# private void按钮1\u单击(对象发送者,事件参数e) { DateTime dob=新的DateTime(); textBox1.Text=dob.ToString(); 智力年龄; 年龄=转换为32(textbox2.Text); 年龄=DateTime.Now.Year-出生年份; if(DateTime.Now.DayOfYear,c#,asp.net,dob,C#,Asp.net,Dob,如何从出生日期计算年龄。这是我的表格1.cs。有什么想法请考虑闰年的使用。你应该很好 DateTime有一个运算符重载,当您使用减法运算符时,会得到一个实例 因此,您只需执行以下操作: private void button1_Click(object sender, EventArgs e) { DateTime dob = new DateTime(); textBox1.Text = dob.ToString(); int ag

如何从出生日期计算年龄。这是我的表格1.cs。有什么想法请考虑闰年的使用。你应该很好

DateTime有一个运算符重载,当您使用减法运算符时,会得到一个实例

因此,您只需执行以下操作:

   private void button1_Click(object sender, EventArgs e)
    {
        DateTime dob = new DateTime();
        textBox1.Text = dob.ToString();
        int age;
        age = Convert.ToInt32(textbox2.Text);
        age = DateTime.Now.Year - dob.Year;
        if (DateTime.Now.DayOfYear < dob.DayOfYear)
            age = age - 1;

    }
理想情况下,您的代码应该如下所示:

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

TimeSpan结构表示一个时间间隔,它具有诸如
小时
等属性,因此您可以根据需要使用它们。

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

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
@Habib更新答案的
Years
属性。我认为没有必要投否决票,我只是在充实内容的同时给出了一个足以支持OP的答案/
我只是在充实的时候给出了一个对OP来说足够的答案
-不应该是这样的,你之前的答案甚至没有编译这就是为什么否决票,现在我删除了我的否决票我认为错误的答案应该被否决票,现在,如果他在你纠正错误后不删除它,那是不必要的。(顺便说一句,一年中没有365天,去问问他多大了)哈哈@DilipanK,点击这个页面上的刷新。在我的测试中,某些日期会产生不正确的结果:(例如,当某人于1996年1月13日出生时,尝试计算其2017年1月12日的年龄。上述代码返回的年龄为21岁,而不是20岁,但他们的21岁生日应该是明天。这是唯一正确的答案。)
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;
DateTime today = DateTime.Today;

int age = today.Year - bday.Year;

if (bday > today.AddYears(-age))
 age--;