2013-07-25 158 views
-1

我是一個VB.NET初學者,我想問一下如果只有出生年份在表格的文本框中輸入,才能計算出一個人的年齡。我應該使用當年減去出生年份,但我沒有真正的代碼。 這裏是問題:在用戶需要輸入其出生年份的表單中有一個名爲txtdob的文本框。我需要一個代碼來確定使用當前年份和輸入年份的用戶的年齡。從Date.Now使用當年的年齡計算

+0

這裏有幾個例子: HTTP:/ /stackoverflow.com/questions/9/how-do-i-calculate-someones-age http://stackoverflow.com/questions/2194999/how-to-calculate-an-age-based-on- a-birthday –

+0

@MarkRedman:這些問題都是從兩個DateTimes計算出年齡'(在C#中),OP想要從一個'Integer'(出生年份)計算出來,他也是一個初學者。 –

+0

我看到你在這裏收到一些反對票,讓我解釋一下爲什麼。你應該試圖從一個觀點來問你的問題,這表明你已經真正考慮過「你想要做什麼」,但無法得到它的工作。你在這裏做什麼,是要求別人爲你做你的任務。一個很好的例子是寧可問。我已經研究了.net中的日期,但是我似乎無法弄清楚如何從另一個日期中減去一個日期,並獲得總年數......(然後顯示您嘗試過的一些代碼......) –

回答

0

使用時間跨度 ..難道現在。減去你的約會對象..

Dim dBirth as Date 
Dim nDiff as TimeSpan 

dBirth = ........ ' you fill with yours 

nDiff = Now.Substract(dBirth) 

Msgbox(format(nDiff.Days/365)) '--------> will show the age .. 
+0

' dBirth不是'DateTime',而是'Integer'。 –

0

使用Integer.ParseInteger.TryParse然後計算它:

Dim birthYear As Int32 
If Int32.TryParse(txtAge.Text, birthYear) Then 
    Dim age As Int32 = Date.Now.Year - birthYear 
    MessageBox.Show("Your age is: " & age) 
Else 
    MessageBox.Show("Please enter a valid year of birth") 
End If 
0

沒有測試過這一點,但它應該讓你去...

yyyy是出生年...

now.subtract(cdate("0/0/yyyy")).totalyears 

乾杯