SAP 日期计算

1. CONVERSION_EXIT_IDATE_OUTPUT

    INPUT:      20200601

    OUTPUT:   03FEB2008

2. CONVERT_DATE_TO_EXTERNAL

    INPUT:      20200203

    OUTPUT:   02/03/2020    "According to user's default setting.

3. CONVERT_DATE_TO_INTERNAL

    INPUT:      02/03/2008    "Should be same as the user's default setting

    OUPUT:     20080203

1  日期间隔

  CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
    EXPORTING
      I_DATE_FROM          '20200101'
*     I_KEY_DAY_FROM  =
      I_DATE_TO                '20200508'
*     I_KEY_DAY_TO        =
*     I_FLG_SEPARATE   = ' '
   IMPORTING
*     E_DAYS                 =
     E_MONTHS            = T_MOTH
*     E_YEARS              =
            .

2 月份最后一天

CALL FUNCTION 'LAST_DAY_OF_MONTHS'
    EXPORTING
      DAY_IN = FSTDAY_NMTH
    IMPORTING
      LAST_DAY_OF_MONTH = LSTDAY_NMTH
    EXCEPTIONS
      DAY_IN_NO_DATE = 1
      OTHERS = 2.

3 日期加减

CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
   EXPORTING
      DATE            = LSTDAY
      DAYS            = 1
      MONTHS          = 0
      SIGNUM          = '+'
      YEARS           = 0
   IMPORTING
      CALC_DATE       = FSTDAY_NMTH.

4 上个月最后一天

CALL FUNCTION 'FIMA_DATE_CREATE' 
        EXPORTING 
             I_DATE                  = SY-DATUM 
             I_MONTHS                = '-1' 
             I_SET_LAST_DAY_OF_MONTH = 'X' 
        IMPORTING 
             E_DATE                  = LASTDATE. 

'HR_IT_TFR_MONTHS_BETWEEN_DATES' 求两个日期之前有多少个月

'HR_MX_INTERVAL_BETWEEN_DATES ' 计算两个日期之间有多少天

'DATE_GET_WEEK' 得到本日是第几周

'WEEK_GET_FIRST_DAY ' 得到本周的第一天

'DAY_IN_WEEK' 得到本日是本星期的第幾天

'LAST_DAY_OF_MONTHS ' 计算并判断是否是本月最后一天

'number_of_days_per_month_get ' 计算当前月有多少天的函数

'HR_JP_MONTH_BEGIN_END_DATE ' 得到该月的区间

'BKK_GET_QUARTER_DATE ' 得到该季的区间

'RP_CALC_DATE_IN_INTERVAL ' 年月日相加減

CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = l_date
days = '00'
months = p_month
signum = '-'
years = '00'
IMPORTING
calc_date = l_date.

原文地址:https://www.cnblogs.com/JackeyLove/p/13035964.html