Вы можете использовать тип данных DATETIME
, чтобы получить точность в миллисекундах. Создайте время смены с помощью функции DATETIME
, затем сравните с ней свое время Функция NOW
показывает текущее время с точностью до миллисекунды:
DEFINE VARIABLE dtShift1 AS DATETIME NO-UNDO.
DEFINE VARIABLE dtShift2 AS DATETIME NO-UNDO.
ASSIGN
dtShift1 = DATETIME(TODAY, (8 * 60 * 60 * 1000))
dtShift2 = DATETIME(TODAY, (20 * 60 * 60 * 1000)).
IF NOW >= dtShift1 AND NOW < dtShift2 THEN
MESSAGE "First shift" VIEW-AS ALERT-BOX INFORMATION.
ELSE
MESSAGE "Second shift" VIEW-AS ALERT-BOX INFORMATION.
Вы также можете проверить время смены на следующий день, добавив день к TODAY
:
dtShift1 = DATETIME(TODAY + 1, (8 * 60 * 60 * 1000))
А если вам нужно обрабатывать разные часовые пояса, используйте тип данных DATETIME-TZ
.