vb.net - 以分钟为单位的日期和时差

标签 vb.net datetime datediff

有什么方法可以显示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 .

关于你的代码,它指的是EndTimeStartTime而这些不是 DateTime变量,但 TextBoxes .您必须将它们(它们的文本)转换为 DateTime正如我在上面所做的那样,即:
DateDiff(DateInterval.Minute, DateTime.Parse(EndTime.Text), DateTime.Parse(StartTime.Text))

关于vb.net - 以分钟为单位的日期和时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17765319/

相关文章:

vb.net - vb.net如何遍历目录列表?

java - 2016 年 4 月 22 日的日期格式?

mysql - 使用 datediff 更新字段

sql-server - DateDiff() 小时和分钟?

vb.net 列出具有值的类属性

.net - 从异常捕获中重新抛出异常

mysql - 无论时区如何,将 MySQL 日期时间分组为间隔

javascript - 仅在 html 页面上显示 JavaScript 日期在过去 10 天内的数据

MySQL根据两个日期列之间的结果选择行

asp.net - DropDownList SelectedIndex 值未在 AutoPostback 上更新