python增加工作日列_在python中添加迄今为止的工作日

这很有效。不是最快或最干净的解决方案,但易于理解,并且不使用任何外部库:#date_calculator.py

import datetime as dt

def add_working_days(start_date, added_days):

# data from https://www.redcort.com/us-federal-bank-holidays/

federal_holidays = [dt.date(2018, 1, 1), dt.date(2018, 1, 15),

dt.date(2018, 2, 19), dt.date(2018, 5, 28), dt.date(2018, 7, 4),

dt.date(2018, 9, 3), dt.date(2018, 10, 8), dt.date(2018, 11, 12),

dt.date(2018, 11, 22), dt.date(2018, 12, 25)]

days_elapsed = 0

while days_elapsed < added_days:

test_date = start_date+dt.timedelta(days=1)

start_date = test_date

if test_date.weekday()>4 or test_date in federal_holidays:

# if a weekend or federal holiday, skip

continue

else:

# if a workday, count as a day

days_elapsed += 1

return start_date

print(add_working_days(dt.date(2018, 1, 11), 10))

#> 2018-01-26

print(add_working_days(dt.date(2018, 1, 11), 115))

#> 2018-06-26

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值