关于C#:从日期时间(出生日期)开始以年为单位的年龄

Age in years from DateTime (Date of birth)

本问题已经有最佳答案,请猛点这里访问。

复制品

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

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

我怎么能从中得到以年为单位的年龄呢?

更新我想要一个准确的生日,所以30.45岁左右。


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

1
2
3
4
5
public int getAgeInYears {
  TimeSpan tsAge = DateTime.Now.Subtract(dtDOB);

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


从杰夫问题的答案中偷了:

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


您可以尝试(在vb中):

1
2
3
    Dim dateOfBirth As Date

    Now.Subtract(dateOfBirth).TotalDays \ 365

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