Datetime 获取时间平均值-ABAP

Datetime 获取时间平均值-ABAP,datetime,abap,Datetime,Abap,在ABAP中有没有办法获得时间集的平均值 以下时间发生了一件事 08:30 08:45 09:00 如果从上述数据集中取事件发生的平均时间,则为:;s 08:45。在ABAP中有没有计算时间的方法?我使用的方法是将时间转换为Unix格式。这意味着我可以通过正态除法得到平均值 以下是用于转换为Unix时间的FM CALL METHOD CL_PCO_UTILITY=>CONVERT_ABAP_TIMESTAMP_TO_JAVA( EXPORTING I

在ABAP中有没有办法获得时间集的平均值

以下时间发生了一件事

  • 08:30
  • 08:45
  • 09:00

如果从上述数据集中取事件发生的平均时间,则为:;s 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格式的日期时间

然后把平均数加到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的时间计数(以秒为单位)

请不要交叉发布:我投票结束此问题,因为相同的问题已发布,并且已在SCN是一个私人论坛上收到答案。如果这个问题之前没有在这里得到回答,我会说在这里记录下来是很有价值的(我是一个拥有SCN访问权限的ABAP开发人员,我无法查看您发布的链接,它被认为是受限的)。@TimRadcliffe的想法完全相同,但到目前为止,这个问题已经被投票排除在公共访问之外。我得到上述工作,将张贴在这里的答案,只要我有机会。