SAP ABAP 时间戳处理类 CL_ABAP_TSTMP 时间戳的算术和转换

Posted 李BIN的笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAP ABAP 时间戳处理类 CL_ABAP_TSTMP 时间戳的算术和转换相关的知识,希望对你有一定的参考价值。

SAP ABAP 时间戳处理类 CL_ABAP_TSTMP 时间戳的算术和转换

引言: 在 ABAP 应用级开发里经常用到时间戳,进而需要对时间戳做出计算、比较、转换、加减等处理。SAP 提供了时间戳处理类 CL_ABAP_TSTMP 时间戳的算术和转换,使用他提供的静态方法能省去你造轮子的时间。本文介绍这个类以及举例 CL_ABAP_TSTMP=>SUBTRACT 的使用。

关键字:SAP ABAP 时间戳 CL_ABAP_TSTMP 算术和转换

文章目录


1. CL_ABAP_TSTMP 介绍


2. 使用举例 CL_ABAP_TSTMP=>SUBTRACT

2.1 获取两个长时间戳之间的秒数(精确到微秒)

在这篇文章中使用了,
SAP ABAP 使用 ALSM_EXCEL_TO_INTERNAL_TABLE 批导/上载大数据量 Excel (2)

  data:lv_timestampl_from type timestampl,
       lv_timestampl_to   type timestampl,
       lv_timestampl_diff type timestampl.

  get time stamp field lv_timestampl_from.
  clear lt_mesg.
  refresh lt_mesg[].
  call function 'ZALSM_EXCEL2ABAP'
    exporting
      iv_fname  = p_impfn
      iv_sname  = gt_mv23-sheet
      iv_brow   = gt_mv23-brow
      iv_erow   = gt_mv23-erow
      iv_bcol   = gt_mv23-bcol
      iv_ecol   = gt_mv23-ecol
      iv_batch  = 10000
      iv_offset = 0
    tables
      et_data   = <gt_main>
      et_mesg   = lt_mesg.
  get time stamp field lv_timestampl_to.
  lv_timestampl_diff = cl_abap_tstmp=>subtract(
      exporting
        tstmp1 = lv_timestampl_to
        tstmp2 = lv_timestampl_from ).

2.2 获取两个短时间戳之间的秒数(整数秒)

在这篇文章中使用了,
SAP ABAP 作业管理 开发 SM37 报表实现 JOB 统计分析和监控预警

  data:lv_tstmp1 type timestamp,
       lv_tstmp2 type timestamp.

  if iv_date1 is not initial and iv_date1 <> '' and iv_date2 is not initial and iv_date2 <> ''.
    lv_tstmp2 = iv_date1 && iv_time1.
    lv_tstmp1 = iv_date2 && iv_time2.
    data(lv_second) = cl_abap_tstmp=>subtract(    
        exporting
          tstmp1 = lv_tstmp1
          tstmp2 = lv_tstmp2 ).
    ev_second = lv_second.
*    if iv_0tr1 = 'X'.
*      if ev_second = 0.
*        ev_second = 1."不足一秒算一秒
*      endif.
*    endif.
  else.
    ev_second = -1."异常返回-1
  endif.

其他

我的微信群、QQ群和其他发布平台。

长期提供开发和运维服务。

以上是关于SAP ABAP 时间戳处理类 CL_ABAP_TSTMP 时间戳的算术和转换的主要内容,如果未能解决你的问题,请参考以下文章

SAP,ABAP中BADI的定义,接口,类,实现,方法

SAP abap 怎么拆分字符串?

sap abap 调用http post方法 body怎么赋值

SAP ABAP 编程问题

sap abap 调用http post方法 body怎么赋

一些通过SAP ABAP代码审查得出的ABAP编程最佳实践