从DateTime(出生日期)开始的年龄

时间:2009-03-23 14:01:19

标签: c# datetime

复制

  

How Can I calculate Someone's Age in C#?

我有一个datetime变量,表示用户的出生日期。

我怎样才能从中获得这个年龄?

更新的 我想要一个精确的生日,所以30。45年或者别的什么。

3 个答案:

答案 0 :(得分:6)

尝试以下方法(假设出生日期存储在dtDOB):

public int getAgeInYears {
  TimeSpan tsAge = DateTime.Now.Subtract(dtDOB);

  return new DateTime(tsAge.Ticks).Year - 1;
}

答案 1 :(得分:4)

Jeff的问题答案被盗:

DateTime now = DateTime.Now;
int age = now.Year - bday.Year;
if (now < bday.AddYears(age)) age--;

答案 2 :(得分:1)

您可以尝试(在Vb中):

    Dim dateOfBirth As Date

    Now.Subtract(dateOfBirth).TotalDays \ 365

\是Vb中的整数除法,我不知道它是否在C#中有对应。