【问题标题】:Calculating working days in python using BDays使用 BIRTHDays 在 python 中计算工作日
【发布时间】:2020-12-20 18:14:08
【问题描述】:

我开始在 python 中玩弄日期,遇到了一个简单而有趣的场景。

我打算确定给定日期前 n 个工作日的日期。下面是我实现相同的代码。 在图片中它适用于周末,但在公共假期时,它不会将其视为假期。

import datetime
from pandas.tseries.offsets import BDay

def getCalculatedDate(d):
    print(d)
    subtracted_value = d - BDay(5)
    print(subtracted_value)
    return subtracted_value

d = datetime.date(2020, 10, 8)
sub_val = getCalculatedDate(d)
print(d)
print(sub_val)

请帮助我理解为什么会这样,还有其他方法可以实现相同的功能。

【问题讨论】:

    标签: python python-3.x pandas date


    【解决方案1】:

    您可以按如下方式使用 pandas CustomBusinessDay 和 USFederalHolidayCalendar:

    import datetime
    from pandas.tseries.holiday import USFederalHolidayCalendar
    from pandas.tseries.offsets import CustomBusinessDay
    
    def getCalculatedDate(d, offset_days):
        us_bd = CustomBusinessDay(n=offset_days, calendar=USFederalHolidayCalendar())
        subtracted_value = d - us_bd
        return subtracted_value
    
    d = datetime.date(2020, 12, 28)
    print(d)
    print(getCalculatedDate(d,5))
    

    【讨论】:

      猜你喜欢
      • 2017-03-08
      • 2022-01-17
      • 2022-08-11
      • 1970-01-01
      • 1970-01-01
      • 2017-08-19
      • 2010-09-25
      • 1970-01-01
      相关资源
      最近更新 更多