有什么方法可以显示2个不同时间之间的差异。我目前有 2 个按钮。
Sub AddButtonClick(sender As Object, e As EventArgs)
StartTime.Text = DateTime.Now.ToString()
End Sub
这将生成第一个时间戳
Sub EndBreakClick(sender As Object, e As EventArgs)
EndTime.Text = DateTime.Now.ToString()
DateDiff(DateInterval.Minute, Endtime, StartTime)
End Sub
这会生成第二个时间戳,但 datediff 行会导致应用程序在我按下按钮后立即崩溃。
最佳答案
您可以信赖 TimeSpan
:
Dim elapsedTime As TimeSpan = DateTime.Parse(EndTime.Text).Subtract(DateTime.Parse(StartTime.Text))
它表现为一个正常的时间变量,您可以从中提取所需的所有信息。例子:
Dim elapsedMinutesText As String = elapsedTime.Minutes.ToString()
请记住,上面的代码将字符串变量作为输入(来自文本框的文本),因为它执行相应的转换:
Convert.ToDateTime
.关于你的代码,它指的是
EndTime
和 StartTime
而这些不是 DateTime
变量,但 TextBoxes
.您必须将它们(它们的文本)转换为 DateTime
正如我在上面所做的那样,即:DateDiff(DateInterval.Minute, DateTime.Parse(EndTime.Text), DateTime.Parse(StartTime.Text))
关于vb.net - 以分钟为单位的日期和时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17765319/