2个时间戳之间的差异

Lal*_*ski 3 abap

我在 ABAP 中有一个程序,他们在变量中使用“timestamp”类型,因此他们可以获得某些事件的时间。他们使用它是因为他们需要毫秒。

我现在的任务是获取其中 2 个变量之间的差异,但我似乎找不到功能模块或其他解决方案。

任何帮助深表感谢!

小智 5

使用该方法CL_ABAP_TSTMP=>SUBTRACT,通过传递两个时间戳必须是TIMESTAMPL包含毫秒的类型,并且两个时间戳之间的差异将以秒数返回,包括毫秒。

例子:

DATA: lv_tstmp1 TYPE timestampl,
      lv_tstmp2 TYPE timestampl,
      lv_diff   TYPE tzntstmpl.

lv_tstmp1 = '20190704000010.999'. " July 4th, 00:00:10 and 999 ms
lv_tstmp2 = '20190703235950.001'. " July 3rd, 23:59:50 and 001 ms

CALL METHOD cl_abap_tstmp=>subtract
    EXPORTING
      tstmp1 = lv_tstmp1
      tstmp2 = lv_tstmp2
    RECEIVING
      r_secs = lv_diff.

ASSERT lv_diff = '20.998'. " expectation verified or run time error
Run Code Online (Sandbox Code Playgroud)