二维码

[基础语法] ABAP时间戳转换成java时间戳

Twilight发表于 2024-04-24 19:19Twilight 最后回复于 2024-04-24 19:19 [复制链接] 1186 0

abap生成的时间戳是和java生成的时间戳不一样,在外围接口交互时经常遇到,转换代码如下:

  1. DATA: lv_saptimestamp  TYPE timestampl,
  2.       lv_timestamp     TYPE string,
  3.       lv_javatimestamp TYPE string.

  4. "获取当前时间戳
  5. GET TIME STAMP FIELD lv_saptimestamp.
  6. lv_timestamp = lv_saptimestamp.
  7. CALL METHOD cl_pco_utility=>convert_abap_timestamp_to_java
  8.   EXPORTING
  9.     iv_date      = CONV #( lv_timestamp+0(8) )
  10.     iv_time      = CONV #( lv_timestamp+8(6) )
  11.     iv_msec      = CONV #( lv_timestamp+15(3) )
  12.   IMPORTING
  13.     ev_timestamp = lv_javatimestamp.
复制代码
  1. DATA:lv_timestamp        TYPE string,
  2.      lv_date      TYPE sydate,
  3.      lv_time      TYPE syuzeit,
  4.      lv_msec      TYPE num03.

  5. CLEAR:lv_timestamp,lv_date.
  6. lv_timestamp = ls_zfit123-banktransactiondate.    "北京时间的时间戳
  7. lv_timestamp = lv_timestamp + 8 * 60 * 60 * 1000. "北京时间与格林威治时间 相差8h
  8. CALL METHOD cl_pco_utility=>convert_java_timestamp_to_abap "只能转换格林威治时间戳
  9.   EXPORTING
  10.     iv_timestamp = CONV #( lv_timestamp )
  11.   IMPORTING
  12.     ev_date      = lv_date
  13.     ev_time      = lv_time
  14.     ev_msec      = lv_msec.
复制代码
可以找一些在线时间戳转换计算器进行验证
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表