(转)ABAP 日期时间函数

ABAP 日期时间函数

 
ABAP日期时间函数收集:

函数名称 (内页-点击名称可查看操作) 函数说明 备注
FIMA_DATE_CREATE

RP_CALC_DATE_IN_INTERVAL

获取查询日期前、后的年、月、日  
LAST_DAY_OF_MONTHS

RP_LAST_DAY_OF_MONTHS

BKK_GET_MONTH_LASTDAY

获取查询日期最后一天的日期  
CCM_GO_BACK_MONTHS 获取查询日期过去N月的日期  

MONTH_PLUS_DETERMINE 获取查询日期未来N月的日期  
     
DATE_GET_WEEK 获取查询日期该年的第几周 输出格式:YYYYWW
WEEK_GET_FIRST_DAY 获取查询周数的第一天  
DAY_IN_WEEK 获取查询日期该天是星期几  
GET_WEEK_INFO_BASED_ON_DATE 获取查询日期该年的第几周和这周周一、周日日期 周起始日是周一
HR_GBSSP_GET_WEEK_DATES 获取查询日期该年的第几周和这周周一、周日日期,该天是周几 周起始日是周日
     
DATE_CHECK_PLAUSIBILITY 检查日期有效性 SY-SUBRC = 0 有效
TIME_CHECK_PLAUSIBILITY 检查时间有效性 SY-SUBRC = 0 有效
HOLIDAY_CHECK_AND_GET_INFO 判断某天是否是假日  
     
CONVERT_DATE_TO_INTERNAL 将标准日期格式转换为数字格式  
CONVERT_DATE_TO_EXTERNAL 将数字日期格式转换为系统日期格式  
DATE_CONVERT_TO_FACTORYDATE 将查询日期转为工厂日历日期  
     
HR_99S_INTERVAL_BETWEEN_DATES 获取两日期间的:天数、周数、月数、年数、期间月份开始截止日期  
FIMA_DAYS_AND_MONTHS_AND_YEARS 计算两日期之间间隔的天数  
FIMA_DATE_COMPARE 比较两个日期大小 返回:GT、EQ、LT等
SD_DATETIME_DIFFERENCE 两日期的时间差  
HRVE_CONVERT_TIME 时间:12/24小时制转换  
     
MONTH_NAMES_GET 获取所有的月份名字  
WEEKDAY_GET 获取所有的星期名字  
DAY_ATTRIBUTES_GET 查看日期属性 包括:该日期是星期几,第几天(周2=2),是不是公共假期等 需要输入国家日历
     
F4_DATE 弹出日历对话框,供用户选择日期  
F4_CLOCK 弹出时间对话框,供用户选择时间  
     
POPUP_TO_SELECT_MONTH 弹出选择年和月的对话框  
POPUP_CALENDAR_SDB 弹出选择周的对话框  
     
GET_CURRENT_YEAR 获得当前的财政年(fiscal year)  
FIRST_DAY_IN_PERIOD_GET 获得期间首日  
LAST_DAY_IN_PERIOD_GET 获得期间末日  

 

函数操作说明:

FIMA_DATE_CREATE 函数

获取输入日期前、后的年、月、日

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
DATA : date  TYPE vtbbewe-dvalut,
       flag  TYPE trff_flg,
       days  TYPE trff_type_n_2.
 
CALL FUNCTION 'FIMA_DATE_CREATE'
   EXPORTING
     i_date                  =  '20140101' "输入日期
     i_flg_end_of_month      =  ' '
     i_years                 = 2       "两年后的日期. 即输入日期的年加2所得日期,可为负数,表示前两年
     i_months                = 1       "一个月后的日期.即输入日期的月加1所得日期,可为负数,表示前一个月
     i_days                  = 23      "23天后的日期。可为负数,表示23天前的日期
     i_calendar_days         = 10      "10天后的日历。同I_DAYS参数。
     i_set_last_day_of_month =  'X'     "返回的日期为当前月份的最后一天
   IMPORTING
     e_date                  = date    "返回的日期为当前月份的最后一天
     e_flg_end_of_month      = flag    "如果输入参数I_SET_LAST_DAY_OF_MONTH设置’X’了,则返回值为’X’。
     e_days_of_i_date        = days.   "返回输入日期的i_calendar_days字段与I_DAYS字段的和。

输出结果:

date:2016.03.31

flag:X

days:24

 

RP_CALC_DATE_IN_INTERVAL 函数

获取输入日期前、后的年、月、日

01
02
03
04
05
06
07
08
09
10
11
DATA calc_date  TYPE p0001-begda.
 
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
   EXPORTING
     date      =  '20140101'    "输入日期
     days      = 10            "天数
     months    = 0             "月数
     signum    =  '+'           "+号:表示 N天/月/年后的日期, -号:表示过去的日期
     years     = 0             "年数
   IMPORTING
     calc_date = calc_date.    "返回结果:10天后的日期(2014.01.11)

 

LAST_DAY_OF_MONTHS 函数

获取输入日期最后一天的日期

01
02
03
04
05
06
07
08
09
10
DATA date  TYPE sy-datum.
 
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
   EXPORTING
     day_in            =  '20140101'     "输入日期
   IMPORTING
     last_day_of_month = date           "返回日期:20140131
   EXCEPTIONS
     day_in_no_date    = 1
     OTHERS            = 2.

 

RP_LAST_DAY_OF_MONTHS 函数

获取输入日期最后一天的日期

01
02
03
04
05
06
   EXCEPTIONS
     day_in_no_date    = 1
     OTHERS            = 2.

 

RP_LAST_DAY_OF_MONTHS 函数

获取输入日期最后一天的日期

01
02
03
04
05
06
07
08
09
10
DATA date  TYPE sy-datum.
day_in_no_date    = 1
     OTHERS            = 2.

 

RP_LAST_DAY_OF_MONTHS 函数

获取输入日期最后一天的日期

01
02
03
04
05
06
07
08
09
10
DATA date  TYPE sy-datum.
相关文章
相关标签/搜索