ABAP 日期转为内部格式(纯数字)

*&---------------------------------------------------------------------*
*&      Form  date_change
*&---------------------------------------------------------------------*
*       日期转为内部格式
*----------------------------------------------------------------------*
FORM date_change CHANGING p_date TYPE string.
  DATA:
    lc_flg  TYPE c, "分隔符
    lc_1(4) TYPE c, "
    lc_2(2) TYPE c, "
    lc_3(2) TYPE c. "

* 判断是否有分隔符
  IF p_date CN '0987654321'. "p_data必须是字符类型

    lc_flg = p_date+4(1).
  ELSE.

    RETURN. "没有分隔符直接结束
  ENDIF.

* 按分隔符拆分年月日
  SPLIT p_date AT lc_flg INTO lc_1 lc_2 lc_3.

* 判断月日长度,只有一位补零
  IF STRLEN( lc_2 ) = 1.

    CONCATENATE '0' lc_2 INTO lc_2.
  ENDIF.

  IF STRLEN( lc_3 ) = 1.

    CONCATENATE '0' lc_3 INTO lc_3.
  ENDIF.

  "日期转换成系统格式(纯数字)
  CONCATENATE lc_1 lc_2 lc_3 INTO p_date.
ENDFORM.                    "date_change

 

posted @ 2022-04-13 13:24  做梦都笑醒  阅读(504)  评论(0编辑  收藏  举报