如何解决如何计算两个日期之间的工作日数?
我想计算ABAP中两个日期之间的差值。
我的第一个尝试是互相减去日期。
days_between = date1 - date2.
这可行,但是我想知道是否有一种方法可以只计算这两个日期之间的工作日。
解决方法
工作和休息日的列表可能因国家/地区和工厂而异。在基于ABAP的系统中,已经为国家/地区设置了日历,以定义工作日和休息日(周末,节假日)。您也可以定义自己的日历。在工厂日历中,每天都会分配一个连续的整数(也称为“出厂日期”),该数字在随后的两个工作日之间为+1(忽略休息日)。
要使用这些日历,必须使用以下官方发布的功能模块(SAP Library - Calendar Functions):
-
DATE_CONVERT_TO_FACTORYDATE
:返回给定日期的序列号 -
FACTORYDATE_CONVERT_TO_DATE
:将给定的序列号转换为日期
要计算两个日历日期之间的天数,必须首先使用DATE_CONVERT_TO_FACTORYDATE
获取这两个日期的序列号,然后减去两个序列号。
您可以使用诸如RKE_SELECT_FACTDAYS_FOR_PERIOD
之类的现有功能模块来计算日期范围内的工作日数。您需要告诉功能模块要使用的日历,因为这取决于位置(例如,不同国家/地区的银行假期等)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。