Я пытаюсь проверить, находится ли время между, скажем, 13:00 и 17:00, Now
. Я не думаю, что функция _Datediff
(с использованием _dateadd()
и _NowTimeCalc()
) будет работать.Как проверить, находится ли время между заданным временем в AutoIt
Есть ли какая-нибудь библиотечная функция в AutoIt, что мне не хватает? Или мне нужно написать ручную функцию, сравнивая @Hour
и @min
?
Я делаю что-то вроде этого:
Func CheckTime($sStart, $sEnd)
$s = StringSplit($sStart, ":")
$e = StringSplit($sEnd, ":")
$s[1] = Int($s[1])
$s[2] = Int($s[2])
$e[1] = Int($e[1])
$e[2] = Int($e[2])
$result = False
If $s[0] <= 0 And $e <= 0 Then
ConsoleWrite("Wrong Time Format")
Exit
EndIf
If $s[1] <= @HOUR And $e[1] >= @HOUR Then
If @HOUR >= $s[1] And @MIN > $s[2] Then
If @HOUR <= $e[1] And @MIN < $e[2] Then
$result = True
EndIf
EndIf
EndIf
Return $result
EndFunc ; ==>CheckTime
В настоящее время работает хорошо, когда время начала < окончания, но то, что я ищу, это какой-то хороший метод вместо ручных проверок.
Спасибо, что было легко, чем я ожидал – XPecto