use*_*702 3 vb.net datetime datediff
有没有办法显示两个不同时间之间的差异.我目前有2个按钮.
Sub AddButtonClick(sender As Object, e As EventArgs)
StartTime.Text = DateTime.Now.ToString()
End Sub
Run Code Online (Sandbox Code Playgroud)
这会生成第一个时间戳
Sub EndBreakClick(sender As Object, e As EventArgs)
EndTime.Text = DateTime.Now.ToString()
DateDiff(DateInterval.Minute, Endtime, StartTime)
End Sub
Run Code Online (Sandbox Code Playgroud)
这会生成第二个时间戳,但是当我按下按钮时,datediff行会导致应用程序崩溃.
你可以依靠TimeSpan
:
Dim elapsedTime As TimeSpan = DateTime.Parse(EndTime.Text).Subtract(DateTime.Parse(StartTime.Text))
Run Code Online (Sandbox Code Playgroud)
它表现为正常的时间变量,您可以从中提取所需的所有信息.例:
Dim elapsedMinutesText As String = elapsedTime.Minutes.ToString()
Run Code Online (Sandbox Code Playgroud)
请记住,上面的代码将字符串变量作为输入(文本框中的文本),因为它执行相应的转换:Convert.ToDateTime
.
关于你的代码,它指的是EndTime
和StartTime
这些都不DateTime
变量,但TextBoxes
.你必须将它们(他们的文本)转换DateTime
为我在上面所做的,即:
DateDiff(DateInterval.Minute, DateTime.Parse(EndTime.Text), DateTime.Parse(StartTime.Text))
Run Code Online (Sandbox Code Playgroud)