我需要使用四个输入参数(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。总结一下,你就到了。