【发布时间】:2014-03-20 12:19:28
【问题描述】:
我需要制作一个程序,您可以在其中输入当前日期和用户的出生日期,并以天为单位为您提供用户的年龄。我已经看过这项工作多年,但似乎几天和几个月都不起作用。非常感谢您的帮助。
【问题讨论】:
我需要制作一个程序,您可以在其中输入当前日期和用户的出生日期,并以天为单位为您提供用户的年龄。我已经看过这项工作多年,但似乎几天和几个月都不起作用。非常感谢您的帮助。
【问题讨论】:
用户的年龄
您可以使用TimeSpan.Days
Dim span As TimeSpan = currentDate - birthDate
Dim days As Int32 = span.Days
例如我的生日:
Dim currentDate = Date.Now
Dim birthDate = New DateTime(1973, 7, 3)
Dim span As TimeSpan = currentDate - birthDate
Dim days As Int32 = span.Days ' => 14870 omg
【讨论】:
DateTimePicker.Value 属性获取DateTime。
请参考:A Simple Age Calculator Using VB.Net
代码sn-p:
Public Class Form1
Dim dt1 As Date
Dim dt2 As Date
Dim dt3 As TimeSpan
Dim diff As Double
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
dt1 = Me.DateTimePicker1.Value.ToShortDateString
dt2 = Me.DateTimePicker2.Value.ToShortDateString
dt3 = (dt2 - dt1)
diff = dt3.Days
Me.Label1.Text = ("Your Age is " + Str(Int(diff / 365)) + " Year ")
diff = diff Mod 365
Me.Label1.Text = Me.Label1.Text + (Str(Int(diff / 30)) + " Month(s)")
diff = diff Mod 30
Me.Label1.Text = Me.Label1.Text + (Str(diff) + " Day(s)")
End Sub
End Class
使用TimeSpan.Days 获取从出生日期到当前日期的时间,并应用简单的公式来获得您想要的结果。
【讨论】: