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