VB.Net-时间变量与当前时间比较

时间:2018-10-15 13:50:20

标签: vb.net time

任何帮助在这里都将不胜感激,我需要将一个变量与当前时间的时间戳进行比较,如果它的时间早于x分钟,则“执行某些操作”。

我的时间戳记变量是目录的上次写入时间。

    Dim path As String = "directory"
    Dim trickle As DateTime = Directory.GetLastWriteTime(path)
    Dim time As String = trickle.ToString("HH:mm")

我便有了当前时间

    Dim CurrentTime As DateTime = DateTime.Now
    Dim Testtime As String = CurrentTime.ToString("HH:mm")

然后我需要类似的东西,但是我正在努力寻找编写方法。

If time < (CurrentTime - "00:15") then...

谢谢

3 个答案:

答案 0 :(得分:1)

请勿将正确的类型(DateTime)转换为错误的类型(String)。相反,您可以减去DateTimes并得到TimeSpan

Dim lastWriteTime As DateTime = Directory.GetLastWriteTime(path)
Dim elapsedTime As TimeSpan = DateTime.Now - lastWriteTime

If elapsedTime > TimeSpan.FromMinutes(15) Then

End If

答案 1 :(得分:0)

当您substract两个DateTime时,您会得到一个TimeSpan。使用TimeSpan,您会以不同的方式(例如Minutes)有所不同。

请勿将日期转换为字符串。

答案 2 :(得分:0)

我认为不需要将您的datetime转换为string。您可以像下面这样进行操作,而无需进行转换:

Dim path As String = "directory"
Dim trickle As DateTime = Directory.GetLastWriteTime(path)

Dim CurrentTime As DateTime = DateTime.Now

 If trickle < CurrentTime.AddMinutes(-15) Then
 '''''
 End If