ABAP中有没有一种方法可以获取时间平均值?
例如:在以下时间发生了一个事件
如果从上述数据集中获取事件发生的平均时间,则为08:45。有一种方法可以在ABAP中进行计算吗?
我使用的方法是将时间转换为Unix格式。这意味着我可以通过正常除法得到平均值。
以下是用于转换为Unix时间的FM;
CALL METHOD CL_PCO_UTILITY=>CONVERT_ABAP_TIMESTAMP_TO_JAVA(
EXPORTING
IV_DATE = LD_IV_DATE
"IV_MSEC = LD_IV_MSEC
IV_TIME = LD_IV_TIME
IMPORTING
EV_TIMESTAMP = IN_UNIX_2 ).
输入:日期和时间输出:Unix格式的DateTime
然后只需将平均值加到19700101日期即可。
可以使用以下FM来完成;
CALL FUNCTION 'TIMESTAMP_DURATION_ADD' "
EXPORTING
TIMESTAMP_IN = 19700101000000 " timestamp UTC Time Stamp in Short Form (YYYYMMDDhhmmss)
TIMEZONE = 'UTC' " timezone Time Zone
UNIT = 'S' " t006-msehi Unit of measurement
DURATION = IN_RUN_AVG
IMPORTING
TIMESTAMP_OUT = IN_AVG_FINAL " timestamp UTC Time Stamp in Short Form (YYYYMMDDhhmmss)
. " TIMESTAMP_DURATION_ADD
因为Unix时间是从1970/01/01开始的秒数,所以可以使用此方法
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句