2013-07-17 2 views
2

Я занимаюсь кодированием (также известный как OpenEdge ABL).Как получить текущее время (OpenEdge)

У меня есть переменная, которая содержит время, и я хочу выяснить, больше ли это текущего времени.
Но я не могу найти что-либо в документации, которую я прочитал, которая показывает мне, как получить текущее время в процессе.
Я могу найти информацию об извлечении текущей даты (используя ключевое слово Today).
Кстати, если ключевое слово Today содержит временную часть даты, это нормально, но тогда мне нужно будет знать, как изолировать только часть времени.

Спасибо. (Обратите внимание, что время, которое я имею в виду это тип, который представляет собой целое число, представляющее секунды начиная с полуночи)

ответ

9

До версии 10:

define variable t as integer no-undo. /* time, in seconds, since midnite */ 

t = time. 

display t. 

После 10 версии (если вы хотите, в сочетании даты & время):

define variable dt as datetime no-undo. 

dt = now. 

display dt. 

Сравнивая существующее переменное время на текущее время:

define variable t as integer no-undo initial 12345. /* 3:25:45 am */ 

display t > time. 

Выдержка времени в секундах, от переменной DateTime (и демонстрировать, как следует Jensd):

define variable t as integer no-undo. 
define variable dt as datetime no-undo. 

dt = now. 

t = integer(mtime(dt)/1000). 

display t string(t, "hh:mm:ss am"). 
+3

Если вы хотите, чтобы отобразить время в более читаемом образом вы можете сделать 'DISPLAY STRING (ВРЕМЯ , "HH: MM: SS") '. – Jensd

+0

Хорошо, я добавлю это к ответу. –

+0

спасибо! кажется настолько очевидным, но я никогда не работал с прогрессом раньше - или с любой базой данных, которая обрабатывает время таким образом. И вся документация, которую я мог найти, должна была быть из более новой версии, потому что все ответы указывали на комбинированное решение datetime. – user2592449

Смежные вопросы