请考虑以下代码:
D#TIME1 S T
D#numeric1 S 6 0
D#numeric2 S 6 0
D
C TIME #numeric1
C eval #TIME1 = %TIME(#numeric1:*HMS)
C
C* This does not work:
C eval #numeric2 = %int(TIME1)
C* Errormessage: The expression contains a operator, which is not defined
C
C MOVE *ON *INLR
有人可以告诉我,如何将* HMS时间值(例如' 07:02:22')转换为6 0
数值。我需要这个来比较两个时间戳。
答案 0 :(得分:5)
C eval #numeric2 = %dec(TIME1: *hms)
应该做的伎俩。
答案 1 :(得分:1)
您可以在TIME操作码的结果字段中使用时间字段。或者,要获取当前时间,您可以使用%TIME()而不使用参数。
D#TIME1 S T
D#curTime S T
C TIME #curTime
C IF #TIME1 >= #curTime
或者,如果您以后不需要当前时间,请直接在比较中使用%TIME():
C IF #TIME1 >= %time()