2013-07-17 95 views
2

我正在編碼Progress(又名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. 

提取時間,以秒計,從日期時間變量(並很好地顯示爲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

如果你想在一個更可讀的方式來顯示時間,你可以做'顯示字符串(TIME 「HH:MM:SS」)'。 – Jensd

+0

好主意,我會將它添加到答案中。 –

+0

謝謝!看起來如此明顯,但我從未與之前的進展一起工作 - 或以這種方式處理時間的任何數據庫。我能找到的所有文檔都必須來自新版本,因爲所有答案都指向了日期時間解決方案。 – user2592449