VB.Net - Сравнение переменной времени с текущим временем - PullRequest
0 голосов
/ 15 октября 2018

Любая помощь будет принята с благодарностью, мне нужно сравнить метку времени из переменной с текущим временем и «сделать что-то», если она старше 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 голосов
/ 15 октября 2018

Когда вы вычитаете два DateTime , вы получаете TimeSpan .С TimeSpan у вас есть разница по-разному, например Минуты .

Не переводите даты в строки.

0 голосов
/ 15 октября 2018

Я не вижу необходимости конвертировать ваши 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
0 голосов
/ 15 октября 2018

Вы не должны преобразовывать правильный тип (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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...