5

我想在 VB.net 中比较两次:

我有 1:42:21 PM,我希望它与 VB.net 中的 TimeOfDay 进行比较,我该怎么做?

4

5 回答 5

8
New DateTime(1, 1, 1, 13, 42, 21) > TimeOfDay

DateTime或者您可以将表达式括在#符号中:

TimeOfDay > #1:42:21 PM#
于 2010-04-08T20:27:30.863 回答
6

以小时、分钟和秒显示时差

Dim TimeEnd As DateTime = #5:00:00 PM#

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

    Dim span As System.TimeSpan = TimeEnd.TimeOfDay - DateTime.Now.TimeOfDay

    Label1.Text = span.Hours & "hr:" & span.Minutes & "min:" & span.Seconds & "sec"

End Sub
于 2012-10-15T06:11:36.927 回答
3

您将计算出输入时间的格式,然后在 vb.net 对象上调用 ToString() 方法,输入相同的格式。

因此,例如,如果您的输入格式是 h:mm:ss tt ,就像您的情况一样,一种方法是:

Dim compareTime As String = "1:42:21 PM"

If compareTime = DateTime.Now.ToString("h:mm:ss tt") Then

   ' The times match

End If

如果要进行某种比较,则应使用 DateTime.Parse() 函数将输入日期转换为 DateTime 对象。然后您可以简单地使用 > 或 < 符号:

Dim myCompareTime As DateTime = DateTime.Parse("1:42:21 PM")

If myCompareTime.TimeOfDay > DateTime.Now.TimeOfDay Then

    ' Compare date is in the future!

End If
于 2010-04-08T20:28:41.403 回答
0

比较两个 DateTime 值的时间部分:

Dim TimeStart as DateTime = #1:42:21 PM#
Dim TimeEnd as DateTime = #2:00:00 PM#

If TimeStart.TimeOfDay < TimeEnd.TimeOfDay Then 
    Console.WriteLine("TimeStart is before TimeEnd")
End If
于 2012-03-29T22:30:31.647 回答
0
The following sample function can be used to compare time
Function comTime()
Dim t1 As Integer = DateTime.Now.TimeOfDay.Milliseconds
Dim t2 As Integer = DateTime.Now.AddHours(1).Millisecond
If (t1 > t2) Then
MessageBox.Show("t1>t2")
ElseIf (t1 = t2) Then
MessageBox.Show("t1=t2")
Else
MessageBox.Show("t2>t1")
End If
End Function

您正在寻找类似的东西吗?

于 2010-04-08T20:28:27.617 回答