matinal:ABAP 时间函数总结大全

本文详细介绍了如何在ABAP编程中使用一系列函数来计算两个日期之间的分钟数、天数、周数、月数、年数,以及获取日期的月份首尾日,同时涉及节假日判断、日期属性获取和时间格式转换等技术操作。

获取两个时间之间的分钟数

data min TYPE i.

CALL FUNCTION 'DELTA_TIME_DAY_HOUR'
  EXPORTING
    T1            = '060000'
    T2            = '070000'
    D1            = '20160101'
    D2            = '20160101'
 IMPORTING
   MINUTES        = min.

write min.

获取两个日期期间的:天数、周数、月数、年数

包括期间月份的开始(月份第一天日期)、截止日期(月份最后一天日期)

TYPE-POOLS: p99sg.
DATA: days   TYPE i,
      weeks  TYPE i,
      months TYPE i,
      years  TYPE i.
 
DATA: month_tab TYPE STANDARD TABLE OF p99sg_month_tab_row.
 
CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'
  EXPORTING
    begda     = '20150101'    "开始日期
    endda     = '20160101'    "截止日期
  IMPORTING
    days      = days          "返回天数:266
    c_weeks   = weeks         "返回周数:52
    c_months  = months        "返回月数:12
    c_years   = years         "返回年数:1
    month_tab = month_tab.    "期间月份首尾日

通过函数计算两个日期的差异月份

CALL FUNCTION 'MONTHS_BETWEEN_TWO_DATES_NEW'
        EXPORTING
          I_DATUM_BIS             = 
          I_DATUM_VON             = 
*       I_KZ_INCL_BIS           = ' '
*       I_KZ_VOLLE_MONATE       = 'X'
       IMPORTING
         E_MONATE                =

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

CALL FUNCTION 'LAST_DAY_OF_MONTHS'
  EXPORTING
    day_in            = '20160104'     "输入日期
  IMPORTING
    last_day_of_month =            "返回最后一天日期:20160131
  EXCEPTIONS
    day_in_no_date    = 1
    OTHERS            = 2.
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
  EXPORTING
    day_in            = '20160104'     "输入日期
  IMPORTING
    last_day_of_month =            "返回最后一天日期:20160131
  EXCEPTIONS
    day_in_no_date    = 1
    OTHERS            = 2.
CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
  EXPORTING
    i_date = '20160101'   "输入日期
  IMPORTING
    e_date = date. 20160131

根据条件获取需要的日期

CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
  EXPORTING
    date      = '20160101'    "日期
    days      = 10            "天数
    months    = 0             "月数
    signum    = '+'           
    years     = 0             "年数
  IMPORTING
    calc_date = calc_date.    (2016.01.11)
CALL FUNCTION 'FIMA_DATE_CREATE'
  EXPORTING
    I_DATE                        = '20160101'
   I_FLG_END_OF_MONTH            = ''
   I_YEARS                       = 1
*   I_MONTHS                      = 0
   I_DAYS                        = 1
*   I_CALENDAR_DAYS               = 2
  " I_SET_LAST_DAY_OF_MONTH       = 'X'
 IMPORTING
   E_DATE                        = w_date
   E_FLG_END_OF_MONTH            = w_flag
*   E_DAYS_OF_I_DATE              = w_days
          .
write:  w_date,
      / w_flag,
      / w_days.
DATA da
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值