我需要使用四个输入参数 DATE_FROM、DATE_TO、TIME_FROM、TIME_TO 计算时差(以分钟为单位)。还有一个输出参数 DIFF_TIME。我创建了一个功能模块,我需要编写一个以分钟为单位计算时间差异的公式。
任何帮助都会很棒!
谢谢,赛。
用于CL_ABAP_TSTMP=>TD_SUBTRACT
获取两个日期/时间对之间的秒数。
(然后,要获得分钟数,请将秒数除以 60)。
例子:
DATA(today_date) = CONV d( '20190704' ).
DATA(today_time) = CONV t( '000010' ).
DATA(yesterday_date) = CONV d( '20190703' ).
DATA(yesterday_time) = CONV t( '235950' ).
cl_abap_tstmp=>td_subtract(
EXPORTING
date1 = today_date
time1 = today_time
date2 = yesterday_date
time2 = yesterday_time
IMPORTING
res_secs = DATA(diff) ).
ASSERT diff = 20. " verify expectation or short dump
如果保证这些值在同一时区,那么您不需要任何特殊的功能模块或实用程序方法就很容易了。阅读这篇文章,然后得到日期的差异并将其乘以 24 * 60 并得到时间的差异(以秒为单位)并将其除以 60。总结一下就可以了。