分钟的日期和时间差异

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行会导致应用程序崩溃.

var*_*bas 8

你可以依靠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.

关于你的代码,它指的是EndTimeStartTime这些都不DateTime变量,但TextBoxes.你必须将它们(他们的文本)转换DateTime为我在上面所做的,即:

DateDiff(DateInterval.Minute, DateTime.Parse(EndTime.Text), DateTime.Parse(StartTime.Text))
Run Code Online (Sandbox Code Playgroud)