Age calculation using current year
我是一个vb.net的初学者,我想问一下,如果在一个表单的文本框中只输入出生年份,如何计算一个人的年龄。我应该使用当前年份减去出生年份,但我没有真正的代码。问题在于:表单中有一个名为txtdob的文本框,要求用户输入出生年份。我需要一个代码来确定使用输入的当前年份和出生年份的用户的年龄。
- 下面是几个例子:stackoverflow.com/questions/9/how-do-i-calculate-someone-ag‌&8203;e stackoverflow.com/questions/2194999/…
- @马克雷德曼:这两个问题都是从两个DateTimes开始计算年龄(用c),op想从一个Integer开始计算年龄,他也是一个初学者。
- 我看到你在这里得到了一些反对票,让我解释一下为什么。你应该试着从一个表明你已经考虑过"你想要做什么"的角度来问你的问题,但是不能让它起作用。你在这里所做的,就是要求别人帮你完成任务。一个很好的例子就是宁可问。我在.NET中研究过日期,但我似乎不知道如何从一个日期中减去另一个日期,并得出年份总数…(然后显示您尝试的代码…)
使用时间跨度..现在就减到你的日期。
1 2 3 4 5 6 7 8
| 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 .. |
- dBirth不是DateTime而是Integer。
看看datediff函数。它告诉您两个日期之间的差异,您可以将日期间隔指定为年,例如
1
| Dim difference As Int = DateDiff(DateInterval .Year, dateOfBirth, currentDate ) |
链接到资源:http://msdn.microsoft.com/en-us/library/b5xbyt6f(v=vs.80).aspx
还没有测试过这个,但它应该能让你…
年是出生年……
2
干杯
使用Integer.Parse或Integer.TryParse,然后从Date.Now计算:
1 2 3 4 5 6 7
| 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 |