在textbox w / datetimepicker中计算年,月或日的年龄

时间:2014-06-11 19:59:10

标签: vb.net datetimepicker

我的问题是如何在另一个文本框中使用datetimepicker来计算年龄?

e.g。如果用户选择2014年6月10日,假设今天是2014年6月11日,则文本框应显示“1天” 或者如果用户选择02/03/2014,则txtbox应显示“3个月”

这是我用于计算年龄的代码

Private Sub BirthDate_ValueChanged(ByVal sender As System.Object, 
        ByVal e As System.EventArgs) Handles BirthDate.ValueChanged
    txtAge.Text = Fix((DateDiff(DateInterval.Day, BirthDate.Value, Now.Date)) / 365) & " years"
End Sub

提前致谢!

1 个答案:

答案 0 :(得分:0)

查看DateDiff规范:http://msdn.microsoft.com/en-us/library/b5xbyt6f%28v=vs.90%29.aspx

您已经在使用它,但如果您想要年数,则无需将天数除以365,您可以使用DateInterval.Year。

您可以将相同的内容应用于其他时间间隔,您需要为每个时间间隔设置参数。

例如(伪代码):

if DateDiff(DateInterval.Day, Birthdate.Value, Now.Date) < 30
print DateDiff(DateInterval.Day, Birthdate.Value, Now.Date)

elseif 29 < DateDiff(DateInterval.Day, Birthdate.Value, Now.Date) < 365
print DateDiff(DateInterval.Month, Birthdate.Value, Now.Date)

elseif DateDiff(DateInterval.Day, Birthdate.Value, Now.Date) > 365
print DateDiff(DateInterval.Year, Birthdate.Value, Now.Date)

我希望这有帮助!