[ABAP]如何计算除中断时间以外的两个时间戳之间的差异

2020-09-22 09:31发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) ABAP专家, 有一个...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


ABAP专家,

有一个特殊要求,下图显示了班级时间表表,班级开始时间(ZAACH1381)和班级结束时间(ZAACH1382)存储在时间戳中,将有两个输入参数:学生加入时间和离开时间(以时间戳格式) 此外,还需要输出学生参加的总时间 (休息时间除外) (以秒为单位)。

PS。 学生可以在休息时间参加,也可以在休息时间离开。

让我们以此为例:

该学生加入20150408084000,然后离开201504081005,因此输出应为:

[20150408100500和20150408084000之间的间隔]-[20150408101000和20150408100500之间的间隔是休息时间]

= 5,100秒-300秒

= 4,800秒

如何实现这种复杂的情况?

百万感谢,

加兰(Galland)

(6.4 kB)
5条回答
Haoba3210
2020-09-22 10:05

嗨Golland,

这里的实际问题是什么? 如果要减去两个时间戳,则可以使用ABAP类cl_abap_tstmp进行各种时间戳操作。 以下是一个减去值的示例,该差值以秒为单位返回。

数据:r_secs类型TZNTSTMPL。

 呼叫方法cl_abap_tstmp =>减

   出口

     tstmp1 = tstmp1

     tstmp2 = tstmp2

   接收

     r_secs = r_secs

     。



  捕获cx_parameter_invalid_range。

    "此处的相关错误处理代码

  捕获cx_parameter_invalid_type。

    "此处的相关错误处理代码

 ENDTRY。

 

一周热门 更多>