ABAP 时间相关函数、搜索帮助

本文详细介绍了ABAP中与日期和时间相关的函数,包括获取月份最后一天、计算日期间隔、转换时间格式、检查日期时间合法性等功能,并提到了搜索帮助如F4_DATE和F4_CLOCK。
摘要由CSDN通过智能技术生成

文章目录

前言

一:日期相关函数

1.获取输入日期月份的最后一天

1.1:LAST_DAY_OF_MONTHS

1.2:DATE_GET_MONTH_LASTDAY

1.3:RP_LAST_DAY_OF_MONTHS

1.4:BKK_GET_MONTH_LASTDAY 

2.获取两个日期之间的天、周、月、年数(HR_99S_INTERVAL_BETWEEN_DATES) 

3.获取日期期间的天数(DAYS_BETWEEN_TWO_DATES)

4.获取输入日期的星期几(DAY_IN_WEEK)

5.获的两个日期之间的分钟数(DELTA_TIME_DAY_HOUR)

6.获取时间+ - 天 月 日的日期

6.1:RP_CALC_DATE_IN_INTERVAL

6.2:FIMA_DATE_CREATE

6.3:MONTH_PLUS_DETERMINE

6.4:CCM_GO_BACK_MONTHS

7.转换日期为内部数字格式(CONVERT_DATE_TO_INTERNAL) 

8.获取当前日期周周一周日的日期及年的周数(GET_WEEK_INFO_BASED_ON_DATE)

9.获取该年第几周的第一天日期(WEEK_GET_FIRST_DAY)

二.日期、时间搜索帮助

1.日期搜索帮助(F4_DATE)

2.时间搜索帮助(F4_CLOCK) 

3.年月搜索帮助弹框(POPUP_TO_SELECT_MONTH) 

三.时间12->24小时制转换(HRVE_CONVERT_TIME) 

四.检查日期、时间合法

1.检查日期(DATE_CHECK_PLAUSIBILITY)

2.检查时间(TIME_CHECK_PLAUSIBILITY) 

总结
​​​​


前言

ABAP时间相关函数、搜索帮助,持续更新。。。

一:日期相关函数

1.获取输入日期月份的最后一天

1.1:LAST_DAY_OF_MONTHS

*&---------------------------------------------------------------------*
*& 程 序 名:YTEST_001
*& 程序描述:ABAP 时间相关函数
*& 创 建 者:JIANGYH
*& 创建日期:2023/11/22
*&---------------------------------------------------------------------*
*& 版本     修改者(公司)     日期         修改描述
*& 1.0.0    XXXX           YYYYMMDD      创建程序
*&---------------------------------------------------------------------*
REPORT ytest_001.

DATA lv_datum TYPE sy-datum.

CALL FUNCTION 'LAST_DAY_OF_MONTHS'
  EXPORTING
    day_in            = '20240423'     "输入日期
  IMPORTING
    last_day_of_month = lv_datum        "返回日期:20240430
  EXCEPTIONS
    day_in_no_date    = 1
    OTHERS            = 2.

1.2:DATE_GET_MONTH_LASTDAY

*&---------------------------------------------------------------------*
*& 程 序 名:YTEST_001
*& 程序描述:ABAP 时间相关函数
*& 创 建 者:JIANGYH
*& 创建日期:2023/11/22
*&---------------------------------------------------------------------*
*& 版本     修改者(公司)     日期         修改描述
*& 1.0.0    XXXX           YYYYMMDD      创建程序
*&---------------------------------------------------------------------*
REPORT ytest_001.

DATA:lv_data TYPE sy-datum.

CALL FUNCTION 'DATE_GET_MONTH_LASTDAY'
  EXPORTING
    i_date = '20240401'
  IMPORTING
    e_date = lv_data.  " 20240430


BREAK-POINT.

1.3:RP_LAST_DAY_OF_MONTHS

*&---------------------------------------------------------------------*
*& 程 序 名:YTEST_001
*& 程序描述:ABAP 时间相关函数
*& 创 建 者:JIANGYH
*& 创建日期:2023/11/22
*&---------------------------------------------------------------------*
*& 版本     修改者(公司)     日期         修改描述
*& 1.0.0    XXXX           YYYYMMDD      创建程序
*&---------------------------------------------------------------------*
REPORT ytest_001.

DATA:lv_data TYPE sy-datum.

CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
  EXPORTING
    day_in            = '20240423'    "输入日期
  IMPORTING
    last_day_of_month = lv_data       "返回最后一天日期:20240430
  EXCEPTIONS
    day_in_no_date    = 1
    OTHERS            = 2.


BREAK-POINT.

1.4:BKK_GET_MONTH_LASTDAY 

*&---------------------------------------------------------------------*
*& 程 序 名:YTEST_001
*& 程序描述:ABAP 时间相关函数
*& 创 建 者:JIANGYH
*& 创建日期:2023/11/22
*&---------------------------------------------------------------------*
*& 版本     修改者(公司)     日期         修改描述
*& 1.0.0    XXXX           YYYYMMDD      创建程序
*&---------------------------------------------------------------------*
REPORT ytest_001.

DATA:lv_data TYPE sy-datum.

CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
  EXPORTING
    i_date = '20240423'           "输入日期
  IMPORTING
    e_date = lv_data.             "返回最后一天日期:20240330

BREAK-POINT.

2.获取两个日期之间的天、周、月、年数(HR_99S_INTERVAL_BETWEEN_DATES) 

*&---------------------------------------------------------------------*
*& 程 序 名:YTEST_001
*& 程序描述:ABAP 时间相关函数
*& 创 建 者:JIANGYH
*& 创建日期:2023/11/22
*&---------------------------------------------------------------------*
*& 版本     修改者(公司)     日期         修改描述
*& 1.0.0    XXXX           YYYYMMDD      创建程序
*&---------------------------------------------------------------------*
REPORT ytest_001.

DATA: lv_d TYPE i,
      lv_w TYPE i,
      lv_m TYPE i,
      lv_y TYPE i.

DATA month_tab TYPE TABLE OF p99sg_month_tab_row.

CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'
  EXPORTING
    begda     = '20230423'       " 开始日期
    endda     = '20240423'       " 截止日期
  IMPORTING
    days      = lv_d          " 返回天数:367
    c_weeks   = lv_w          " 返回周数:52
    c_months  = lv_m          " 返回月数:12
    c_years   = lv_y          " 返回年数:1
    month_tab = month_tab.    " 期间月份首尾日

*month_tab:
*05 2023  20230501  20230531
*06 2023  20230601  20230630
*07 2023  20230701  20230731
*08 2023  20230801  20230831
*09 2023  20230901  20230930
*10 2023  20231001  20231031
*11 2023  20231101  20231130
*12 2023  20231201  20231231
*01 2024  20240101  20240131
*02 2024  20240201  20240229
*03 2024  20240301  20240331

BREAK-POINT.

3.获取日期期间的天数(DAYS_BETWEEN_TWO_DATES)

*&---------------------------------------------------------------------*
*& 程 序 名:YTEST_001
*& 程序描述:ABAP 时间相关函数
*& 创 建 者:JIANGYH
*& 创建日期:2023/11/22
*&---------------------------------------------------------------------*
*& 版本     修改者(公司)  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值