【问题标题】:How to use Datediff of time in vb.net? From Starting time to Ending time如何在 vb.net 中使用时间的 Datediff?从开始时间到结束时间
【发布时间】:2021-11-13 01:58:42
【问题描述】:

我需要知道时间的价值。我的意思是时间间隔;从开始时间结束时间。任何人都可以帮忙吗? :(

这是我的列表,我想获取时间的间隔值。

当我在 Datagridview2 中选择项目/记录时,它将显示在这里

有人可以分享一个想法/或代码吗?谢谢

【问题讨论】:

  • 您好,欢迎来到 SO!请使用tour,阅读help centerhow-to-ask 页面。请提供minimal-reproducible-example
  • 您可以简单地从另一个Date 中减去一个Date 并得到一个TimeSpan。您甚至可以通过网络搜索自己发现这一点。例如,我刚刚搜索了 "vb.net find time difference",第一个结果提供了一个代码示例。可以轻松回答的问题,不需要在这里提出。
  • 抱歉第二张图片不正确。顺便说一下,它是 LABEL,“CLASS HOURS”,假设间隔值将显示在这里。例如:“课时:5”
  • 例如,dim diffInMinutes = (Date2 - Date1).TotalMinutes。您没有指定您正在使用哪种日期/时间对象(DateTime、TimeSpan 等),数据是从数据库加载还是用户输入。此外,结果应该是什么样子并用于什么 - 将所有详细信息添加到问题中。

标签: vb.net time datediff


【解决方案1】:

要实现这样的目标,您需要 TimeSpan 数据类型。

在我的示例中,变量在运行时开始时写入当前时间。 计时器定期计算时间 1 和当前时间之间的新时间跨度,并在文本框中输出该时间跨度。

另外,我使用CultureInfo(我总是这样做,请不要感到惊讶)并且我使用 PadLeft 有前导零。更好看。

Public Class FormMain
    Private ReadOnly Starttime As Date = Date.Now
    Private ReadOnly Deu As New System.Globalization.CultureInfo("de-DE")
    Private Sub FormMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Timer1.Start()
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        Dim TS As TimeSpan = Date.Now - Starttime
        TextBox1.Text = TS.Minutes.ToString(Deu).PadLeft(2, "0"c) & ":" & TS.Seconds.ToString(Deu).PadLeft(2, "0"c)
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Timer1.Stop()
    End Sub
End Class

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    相关资源
    最近更新 更多