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



在这里,任何帮助将不胜感激,我需要将变量的时间戳与当前时间进行比较,如果它早于 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...

谢谢

你不应该将正确的类型(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

我认为没有必要将您的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

当你减去两个日期时间时,你会得到一个时间跨度。使用时间跨度,您可以以不同的方式获得差异,例如分钟。

不要将日期转换为字符串。

最新更新