DATE_FROM、DATE_TO、TIME_FROM、TIME_TOの4つの入力パラメーターを使用して、時間差を分単位で計算する必要があります。そして、1つの出力パラメーターDIFF_TIME。汎用モジュールを作成しました。時間差分を分単位で計算する式を作成する必要があります。
どんな助けでも素晴らしいでしょう!
ありがとう、サイ。
CL_ABAP_TSTMP=>TD_SUBTRACT
2つの日付/時刻ペア間の秒数を取得するために使用します。
(次に、分数を取得するには、秒数を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で除算します。合計すると、そこにあります。