2013-07-25 162 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 

干杯