【问题标题】:How to get Current Time in Progress (OpenEdge)如何获取当前正在进行的时间(OpenEdge)
【发布时间】:2013-07-16 09:26:18
【问题描述】:

我正在编写代码(又名 OpenEdge ABL)。

我有一个保存时间的变量,我想知道它是否大于当前时间。
但是我在我读过的文档中找不到任何内容,这些文档向我展示了如何检索当前的进行中时间。
我只能找到有关检索当前日期的信息(使用 Today 关键字)。
顺便说一句,如果使用 Today 关键字包括日期的时间部分,那很好,但我需要知道如何仅隔离时间部分。

谢谢。 (请注意,我所指的时间是表示自午夜以来秒数的整数类型)

【问题讨论】:

    标签: progress-4gl openedge


    【解决方案1】:

    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" ).
    

    【讨论】:

    • 如果您想以更易于阅读的方式显示时间,您可以使用DISPLAY STRING(TIME,"HH:MM:SS")
    • 好主意,我会把它添加到答案中。
    • 谢谢!看起来如此明显,但我以前从未使用过进展 - 或任何以这种方式处理时间的数据库。我能找到的所有文档都必须来自较新的版本,因为所有答案都指向组合的日期时间解决方案。
    • 在 PDF 中每个文档条目的底部都有一个“相关”命令列表,您可以查看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    • 2015-06-09
    相关资源
    最近更新 更多