label1
отображает последнюю дату/время транзакции, которую я получаю из базы данных по запросу. label2
- системная дата/время. У меня есть таймер, который выполняет командную кнопку, после чего я хочу проверить, меньше ли времени/даты в label1 меньше 5 минут. Если это так, я хочу показать массаж.Сравнение двух дат времени
Но я не знаю, почему мой код не выполняет эту функцию. Любая помощь будет высоко оценена.
Private Sub Command1_Click()
Dim date1 As Date
Dim date2 As Date
date1 = Format(Now, "yyyy/mm/dd hh:mm:ss")
date2 = Format(label1, "yyyy/mm/dd hh:mm:ss")
If DateDiff("n", date1, date2) < 2 Then
MsgBox ("Not Vending")
End If
End Sub
Я также попытался:
Private Sub Command1_Click()
Dim date1 As Date
Dim label1 As Date
date1 = Format(Now, "yyyy/mm/dd hh:mm:ss")
date2 = label1
If DateDiff("m", Now, date1) > DateDiff("m", Now, label1) Then
MsgBox ("Not Vending")
End If
End Sub
Как также:
Private Sub Command1_Click()
If DateDiff("n", Now, label1) > 5 Then
MsgBox ("Not Vending")
End If
End Sub
Откуда появляется этикетка? Почему вы конвертируете типы дат в строки только для того, чтобы идти и вызывать DateDiff для строк (что заставляет его преобразовывать строки обратно в Даты)? Предоставление нам нескольких версий Command1_Click не помогает, покажите нам только тот, который ближе всего к тому, что, по вашему мнению, должен работать. – AnthonyWJones