如何在SAP ABAP中以两个输入日期和时间计算以分钟为单位的时差?

sai*_*aja 3 abap

我需要使用四个输入参数DATE_FROM,DATE_TO,TIME_FROM和TIME_TO以分钟为单位计算时差。还有一个输出参数DIFF_TIME。我已经创建了一个功能模块,我需要编写一个公式来计算以分钟为单位的时间差。

任何帮助将是巨大的!

谢谢,赛

Tia*_*ida 5

使用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
Run Code Online (Sandbox Code Playgroud)


vwe*_*ert 2

如果保证这些值位于同一时区,则很容易,您不需要任何特殊的功能模块或实用方法。阅读此内容,然后获取日期差值,并将其乘以 24 * 60,然后获取时间差值(以秒为单位),然后除以 60。将其相加,即得。