有什么方法可以排除StartDate和EndDate,我使用busday_count,并且肯定包括开始和排除结束日期吗?
np.busday_count('2020-05-06', '2020-05-17')
out:8正确的out应该是7,因为第一天是星期三,我们不想算,下周到Fri算在内
提前致谢
要排除第一天:
您可以将开始日期和结束日期都增加1:
>>> start = np.datetime64('2020-05-06')
>>> end = np.datetime64('2020-05-17')
>>> np.busday_count(start,end)
8
>>> np.busday_count(start+1,end+1)
7
在计算中,第一个增量不包括开始日期,第二个增量包括结束日期。
要排除第一个工作日:
>>> start = np.datetime64('2020-05-10')
>>> end = np.datetime64('2020-05-21')
>>> max(np.busday_count(start, end)-1+np.is_busday(end),0)
8
在这里,您减去一个,因为您一直想排除第一个工作日,如果结束也是一个工作日,则加一个。最后,将最大值设为0以避免没有工作日的情况,否则该工作日将给出-1。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句