abap 时间戳

demo1


DATA:unix TYPE string.

PERFORM get_unix_time CHANGING unix.

*把当天日期转为UNIX时戳
FORM get_unix_time  CHANGING p_lv_unix.
  DATA:return_value TYPE string.
  DATA code TYPE string.

  DATA(js_processor) = cl_java_script=>create( ).

  code =
  'function getTime(day){' &&
  're = /(\d{4})(?:(\d{1,2})(?:(\d{1,2}))?)?(?:\s+(\d{1,2})(\d{1,2})(\d{1,2}))?/.exec(day);'&&
  'return new Date(re[1],(re[2]||1)-1,re[3]||1,re[4]||0,re[5]||0,re[6]||0).getTime()/1000;'&&
  '}'&& cl_abap_char_utilities=>cr_lf &&
  'var result = getTime("' && sy-datum && ` ` && sy-uzeit && '");' && cl_abap_char_utilities=>cr_lf  &&
  'result;'.

  return_value = js_processor->evaluate( code ).
  p_lv_unix  = return_value.
ENDFORM.




demo2


DATA:
  lv_ts_unix       TYPE string,
  lv_timezone_sec  TYPE p LENGTH 5,
  lv_timezone_name TYPE c LENGTH 7.

CALL 'C_GET_TIMEZONE'
      ID 'NAME' FIELD lv_timezone_name
      ID 'SEC'  FIELD lv_timezone_sec.

lv_timezone_sec = 0 - sy-tzone.

PERFORM date_time_to_p6(rstr0400)
        USING sy-datum
              sy-uzeit
              lv_ts_unix
              lv_timezone_sec.

WRITE: lv_ts_unix.

DATA:
  lv_datum TYPE sydatum,
  lv_uzeit TYPE string.

PERFORM p6_to_date_time(rstr0400)
        USING lv_ts_unix
              lv_timezone_sec
              lv_uzeit
              lv_datum .

WRITE /: lv_datum, lv_uzeit.




demo3

CL_ABAP_TSTMP
CL_APL_TESTZONE_SERVICES
 
CONVERT_ABAP_TIMESTAMP_TO_JAVA

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值