ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 日期大写

日期大写

原创 Linux操作系统 作者:hzq2010 时间:2011-05-07 14:01:16 0 删除 编辑
REPORT  z_barry_test NO STANDARD PAGE HEADING .
 
DATA: date1 LIKE sy-datum,
      date2(30).

date1 = sy-datum.
DO 400 TIMES.
  date1 = date1 + 1 .
  PERFORM. get_date2 USING date1 CHANGING date2.
  WRITE / date2.
ENDDO.
 
*&---------------------------------------------------------------------*
*&      Form  get_date2
*&---------------------------------------------------------------------*
FORM. get_date2 USING value(date_in) LIKE sy-datum
               CHANGING date_str.
  DATA: yy(10),
        mm(10),
        dd(10).
  DATA: len TYPE i.
 
  len = 3 - cl_abap_char_utilities=>charsize.
  yy = date_in+0(4).
  mm = date_in+4(2).
  dd = date_in+6(2).
 
  TRANSLATE yy USING '0〇1一2二3三4四5五6六7七8八9九'.
  TRANSLATE mm USING '1一2二3三4四5五6六7七8八9九'.
  TRANSLATE dd USING '1一2二3三4四5五6六7七8八9九'.
 
  IF date_in+4(2) > 9.
    SHIFT mm BY len PLACES .
    CONCATENATE '十' mm INTO mm.
  ENDIF.
  IF date_in+6(2) > 29 .
    SHIFT dd BY len PLACES .
    CONCATENATE '三十' dd INTO dd.
  ELSEIF date_in+6(2) > 19 .
    SHIFT dd BY len PLACES .
    CONCATENATE '二十' dd INTO dd.
  ELSEIF date_in+6(2) > 9.
    SHIFT dd BY len PLACES  .
    CONCATENATE '十' dd INTO dd.
  ENDIF.

  CONCATENATE yy '年' mm'月' dd '日' INTO date_str.
  REPLACE ALL OCCURRENCES OF '0' IN date_str WITH ``.
ENDFORM.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23495244/viewspace-694692/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-03-11

  • 博文量
    196
  • 访问量
    168058