zoukankan      html  css  js  c++  java
  • ABAP日期的处理

    最近做一个功能,需要得到下周一至周五的日期功能,谷歌度娘一番后,没有找到直接可也使用的函数,只能自己写一个。关于周的函数,可也查看Function Group中的CADA。

    *设置变量
    data : lv_monday TYPE dats,
             lv_sunday TYPE dats,
             lv_friday TYPE dats.
    *得到当前日期的周一和周日
    CALL FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE'
    EXPORTING
    DATE   = SY-DATUM
    IMPORTING
    *     WEEK   =
          MONDAY = lv_monday
          SUNDAY = lv_sunday.
    *得到下周一
    CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
    EXPORTING
    DATE      = lv_sunday
          DAYS      = 1
          MONTHS    = 0
          SIGNUM    = '+'
          YEARS     = 0
    IMPORTING
          CALC_DATE = lv_monday.
    *得到下周五
    CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
    EXPORTING
    DATE      = lv_monday
          DAYS      = 4
          MONTHS    = 0
          SIGNUM    = '+'
          YEARS     = 0
    IMPORTING
          CALC_DATE = lv_friday.

    得到当前日期是星期几。

    data lv_date TYPE p.
    *得到星期几
    CALL FUNCTION 'DAY_IN_WEEK'
    EXPORTING
          DATUM = sy-datum
    IMPORTING
          WOTNR = lv_date.
    *转换成汉字
    data lt_weekname TYPE STANDARD TABLE of T246.
    data wa_weekname TYPE t246.
    CALL FUNCTION 'WEEKDAY_GET'
    EXPORTING
    LANGUAGE                = '1'
    * IMPORTING
    *   RETURN_CODE             =
    TABLES
          WEEKDAY                 = lt_weekname
    * EXCEPTIONS
    *   WEEKDAY_NOT_FOUND       = 1
    *   OTHERS                  = 2
    .
    IF SY-SUBRC <> 0.
    RETURN.
    ENDIF.
    READ TABLE lt_weekname WITH KEY WOTNR = lv_date INTO wa_weekname.
    *wa_weekname-LANGT 就是得到的数据.

  • 相关阅读:
    努力 加油
    大总结(全文手打)加深记忆 表单 注册页面的第一次制作 小白一只多多包含
    购物栏
    三级轮播
    图片轮播
    啊!!苦等,博客终于通过了!!
    SQL升级Oracle挖的Null坑,你懂的!
    关于master..xp_cmdshell’的几个错误_解决办法(转)
    班级博客
    图片系统架构思考之一:删除图片--不容忽视
  • 原文地址:https://www.cnblogs.com/sodmecai/p/2345267.html
Copyright © 2011-2022 走看看