SAP-ABAP-AMDP 中的日期函数,关于日期的计算
SAP-ABAP-AMDP 中的日期函数,关于日期的计算
目录
AMDP中的日期函数
CURRENT_DATE 当前系统日期
CURRENT_TIME 当前系统时间
HOUR()取小时
MINUTE()取分钟
SECOND ()取秒
DAYS_BETWEEN()两个日期的间隔天数
ADD_DAYS (, ) 当前日期加减天数
DAYNAME ()
在CDS视图中,AMDP这种写法,如果要使用SAP的系统变量,不像ABAP那样SY-[],AMDP 中有特定的写法
AMDP中的日期函数
CURRENT_DATE 当前系统日期
获取系统当前日期,返回date格式
DECLARE lv_data date;
lv_data := CURRENT_DATE ;
EXTRACT ({YEAR | MONTH | DAY | HOUR | MINUTE | SECOND} FROM <d>) 获取年,月,日
小时,分钟,秒等
DECLARE ARRAY_TIME INTEGER ARRAY;
ARRAY_TIME[1] := EXTRACT ( YEAR from CURRENT_DATE )
ARRAY_TIME[2] := EXTRACT ( MONTH from CURRENT_DATE )
ARRAY_TIME[3] := EXTRACT ( DAY from CURRENT_DATE )
CURRENT_TIME 当前系统时间
获取系统当前时间,返回time格式
DECLARE lv_time time;
lv_timeto := CURRENT_TIME ;
HOUR()取小时
获取时间里面的小时数,除了上面那种方法,这种函数可以直接用
DECLARE ARRAY_TIME INTEGER ARRAY;
ARRAY_TIME[1] := HOUR( CURRENT_TIME);
MINUTE()取分钟
获取时间里面的分钟数
DECLARE ARRAY_TIME INTEGER ARRAY;
ARRAY_TIME[2]:= MINUTE ( CURRENT_TIME );
SECOND ()取秒
获取时间里面的秒数
DECLARE ARRAY_TIME INTEGER ARRAY;
ARRAY_TIME[3]:= SECOND ( CURRENT_TIME );
DAYS_BETWEEN()两个日期的间隔天数
两个日期的间隔天数,返回INT值
DECLARE BT_DAY INT ;
DECLARE lv_data1 DATE := '20220124';
DECLARE lv_data2 DATE := '20220130';
BT_DAY := DAYS_BETWEEN( :lv_data1 , :lv_data2);
ADD_DAYS (<d>, <n>) 当前日期加减天数
<d>:日期,<n>为正数时,当前日期后n天的日期,<n>为负数时,当前日期前n天的日期,类似的函数还有 ADD_MONTHS, ADD_MONTHS_LAST, ADD_YEARS, ADD_SECONDS, ADD_WORKDAYS
DECLARE lv_datum DATE ;
lv_datum := add_days (to_Date( CURRENT_DATE ),-7) ;
DECLARE lv_datum2 DATE ;
lv_datum2 := add_days (to_Date( CURRENT_DATE ),7) ;
DAYNAME (<d>)
这个返回的是当前日期是周几, 类似的方法还有DAYOFMONTH, DAYOFYEAR,DAYS_BETWEEN, WEEK, QUARTER, NEXT_DAY.
原文链接:https://blog.csdn.net/qq_40977705/article/details/123261568
文章来自于网络,如果侵犯了您的权益,请联系站长删除!