Abap 为什么时间戳subraс;结果是负的吗?
我的应用程序开始时间是20191015110000Abap 为什么时间戳subraс;结果是负的吗?,abap,Abap,我的应用程序开始时间是20191015110000 客户_1的最后最佳时间是:20191015113000 客户_1的最后最佳时间是:20191015103000 现在我想在我的应用程序完成这个过程后得到这个结果 上次客户最佳时间为:20191015113000新客户最佳时间为:2019-10-15T11:30:00+03:00 上次客户端最佳时间为:20191015103000新客户端最佳时间为:“”(即空白) 但我不能得到必要的结果。有人能指出我的错误吗 这是我的ABAP代码: DATA:
DATA: lv_best_time TYPE timestamp VALUE `20191015090000`,
lv_campaign_start_time TYPE timestamp VALUE `20191015110000`,
lv_new_best_time TYPE string.
CONSTANTS: lc_one_hour TYPE i VALUE 3600.
IF lv_best_time IS NOT INITIAL.
DATA(lv_ts_subtract) = cl_abap_tstmp=>subtract( EXPORTING tstmp1 = lv_campaign_start_time
tstmp2 = lv_best_time ).
IF abs( lv_ts_subtract ) < lc_one_hour.
lv_new_best_time = ``.
ELSE.
lv_new_best_time = |{ lv_best_time TIMESTAMP = ISO TIMEZONE = `MY TIMEZONE` }| && `+03:00`.
ENDIF.
ENDIF.
WRITE: |Last Cleient Best-Time was: | && lv_best_time && ` ` && |New Client Best-Time is: | && lv_new_best_time.
数据:lv\u最佳时间类型时间戳值'20191015090000`,
lv\u活动\u开始\u时间类型时间戳值'20191015110000`,
lv\u新\u最佳\u时间类型字符串。
常数:lc_一小时i型值3600。
如果lv_最佳_时间不是初始值。
数据(lv_ts_subtract)=cl_abap_tstmp=>subtract(导出tstmp1=lv_活动开始时间
tstmp2=低压(最佳时间)。
如果abs(lv\u ts\u减去)
以下结果已与您的代码一起提供
Last Client Best-Time was: 20191015113000 New Client Best-Time is: 2019-10-15T11:30:00+03:00
第二个结果
Last Client Best-Time was: 20191015103000 New Client Best-Time is: '' (i.e blank)
你必须把信用证从3600改为7201或更大
常量:lc\u一小时i型值7201
您说了您想要获得的,请解释您当前获得的内容,以便让每个人都清楚。抱歉,您的示例中绝对没有负面结果。您的lv\u活动\u开始时间
var似乎为空,因此,不满足abs的条件,也未计算出lv\u新的\u最佳\u时间
var。