1.比较两个函数的大小,返回值为关系操作符:GT、EQ、LT等
TYPE-POOLS trff .
DATA log_op TYPE trff_type_c_2.
CALL FUNCTION ‘FIMA_DATE_COMPARE’
EXPORTING
i_flg_intraday = ’ ’
i_date = ‘20191101’
i_time = ‘000000’
i_sincl = ‘0’ "计算期间开始的排除标识
i_sult = ’ ’ "计算期间开始的月末标识符
i_comp_date = ‘20191201’ "比较日期
i_comp_time = ‘000000’ "比较时间
i_comp_sincl = ‘0’ "计算期间结束的包含标识
i_comp_sult = ’ ’ "计算期间结束的月末标识符
IMPORTING
e_log_op = log_op. "返回比较结果:LT
2.计算两个日期之间间隔的天数(from ... to ...)
缺点是:必须一前一后,不能计算出负值
返回两日期间隔的天数、月份、年度
FIMA_DAYS_AND_MONTHS_AND_YEARS
3.获取两日期间的:天数、周数、月数、年数、期间月份开始截止日期
HR_99S_INTERVAL_BETWEEN_DATES
缺点是:相同日期会计算出 1
优点是:颠倒日期可以计算出负值 , 结果是 i 类型 ,可用于计算
4.计算两个日期之间的差值
SD_DATETIME_DIFFERENCE
优点:date1 和 date 2 不分先后都可以计算,而且日期准确
5.CCM_GO_BACK_MONTHS
获取输入日期过去N月的日期
DATA date TYPE sy-datum.
CALL FUNCTION 'CCM_GO_BACK_MONTHS'
EXPORTING
currdate = '20140101' "输入日期
backmonths = 3 "过去月数
IMPORTING
newdate = date. "返回日期:20131001
6.MONTH_PLUS_DETERMINE
获取输入日期后来N月的日期
DATA date TYPE sy-datum.
CALL FUNCTION 'MONTH_PLUS_DETERMINE'
EXPORTING
months = 3
olddate = '20140101' "输入日期
IMPORTING
newdate = date. "返回日期:20140401
7.GET_WEEK_INFO_BASED_ON_DATE
计算每周的周一和周日
CALL FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE'
EXPORTING
date = s_abdat-low "输入日期 例如 20200620
IMPORTING
week = week "返回周数202025
monday = monday "当前周 周一 20200615
sunday = sunday. "当前周 周日 20200621