如何从日期计算年龄

问题描述:

我看到这已被问了很多次。很多人都回答了,但是我一直无法做到。如何从日期计算年龄

这是我从我的搜索得到的代码:

public static int CalculateAge(DateTime birthDate) 
{ 
    DateTime now = DateTime.Today; 
    int years = now.Year - birthDate.Year; 

    if (now.Month < birthDate.Month || (now.Month == birthDate.Month && now.Day < birthDate.Day)) 
     --years; 

    return years; 
} 

如何从一个TextBox提供的出生日期?

即时通讯使用jQuery的压延机供应日起在DD-MM-YY格式的TextBox3 ..

现在我想从提供的日期计算年龄,然后点击一个按钮在DB保存..

我得到了数据库部分的保存,但是如何将TextBox值插入到上面的代码中,然后使用年份将它保存在我的按钮单击事件中?

+0

这个逻辑思考。你如何计算年差?取当前年份,并从DOB中提供的年份中扣除。简单。 –

+1

可能重复的[我如何计算某人在C#中的年龄?](http://*.com/questions/9/how-do-i-calculate-someones-age-in-c) – Uriil

+1

逻辑不是问题所在,我不知道如何将生日从TextBox传递到上面的代码.. – Rifshan

所以在这里,我如何提供一个TextBox的出生日期?

随着供应,如果你的意思是得到它的TextDateTime,您可以将其解析到DateTime等;

DateTime dt; 
if(DateTime.TryParseExact(TextBox3.Text, "dd-MM-yy", 
          CultureInfo.InvariantCulture, 
          DateTimeStyles.None, out dt)) 
{ 
    // now you can use dt with subtract process as a DateTime 
} 

,或者如果dd-MM-yy格式是标准日期和时间格式CurrentCulture,您可以直接使用DateTime.Parse() method等;

var dt = DateTime.Parse(TextBox3.Text); 

顺便说一句,mm符是分钟,MM是几个月。不要忘记添加System.Globalization namespace来使用它们。

阅读也:Calculate age in C#

+0

它告诉我,CultureInfo不存在,DateTimeStyles也不存在... – Rifshan

+0

@Rifshan在您的代码的顶部添加'System.Globalization'命名空间作为'使用System.Globalization;'。 –

+0

谢谢,我需要的实际上是解析的东西,那就是诀窍:) – Rifshan