两个日期时间相减,如何得出月份

高手你好! 我现在想求两个日期之间之间相差的月份在ABAP中应该如何实现? 我的代码如下: data: Date1 type D. ? "入司时间 data: Date type D. ? ?"系统时间 *获取系统日期 Date ? ? ?= SY-DATUM. Date+6(2) = '01'. ? ? ? ? ?" 当前月的第一天 Date1 = itab_pa0002-BEGDA. ? ? ?Date1+6(2) = '01'. ? ? ? ? ?" 入司所在月的第一天 *计算出司龄 ? ? ?itab_fund-joindate = Date1 - Date. 为什么我的itab_fund-joindate中是一个很大的数字,如何计算可以得出结果? 谢谢!!!

你用data - data1得出的是两个日期之间所相隔的天数,ABAP中认为两个日期相减是计算其相隔 的天数的,故如果你想计算出两个日期之间相隔的月份,可以用比较原始的方法:即先判断年份 data+0(4)相隔多少,再计算月份data+4(2)相隔多少,写算法计算一下即可。或者去查一下 function, 看有没有符合的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-09
data: Date1(8) type N. ? "入司时间 data: Month1(2) type N. data: Date(8) type N. ? ?"系统时间 data: Month(2) type N. *获取系统日期 Date ? ? ?= SY-DATUM. Month = Data+4(2). ? ? ? ? " 当前月的第一天 Date1 = itab_pa0002-BEGDA. Month1 = Data1+4(2). ? ? ? ? ?" 入司所在月的第一天 *计算出司龄 itab_fund-joindate = ( Data(4) - Data1(4) ) * 12 - Month + Month1本回答被网友采纳
第2个回答  2013-08-09
CALL FUNCTION 'MONTHS_BETWEEN_TWO_DATES_NEW'
相似回答