2015-01-02 193 views
0

我看到這已被問了很多次。很多人都回答了,但是我一直無法做到。如何從日期計算年齡

這是我從我的搜索得到的代碼:

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://stackoverflow.com/questions/9/how-do-i-calculate-someones-age-in-c) – Uriil

+1

邏輯不是問題所在,我不知道如何將生日從TextBox傳遞到上面的代碼.. – Rifshan

回答

5

所以在這裏,我如何提供一個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