python 工作日加减
时间: 2023-11-21 07:57:30 浏览: 189
可以使用Python的datetime和dateutil模块来进行工作日的加减。
1. 使用datetime模块进行工作日加减,需要自己编写判断工作日的函数,示例代码如下:
```python
import datetime
# 判断是否为工作日
def is_workday(date):
if date.weekday() in [5, 6]:
return False
return True
# 工作日加减
def workday_add(date, days):
while days > 0:
date += datetime.timedelta(days=1)
if is_workday(date):
days -= 1
return date
# 测试
sdate = datetime.datetime.strptime('2022.01.01','%Y.%m.%d')
edate = workday_add(sdate, 5)
print(edate.strftime('%Y.%m.%d')) # 输出:2022.01.07
```
2. 使用dateutil模块进行工作日加减,该模块已经封装好了工作日的判断,示例代码如下:
```python
from dateutil.rrule import *
import datetime
# 工作日加减
def workday_add(date, days):
edate = date + datetime.timedelta(days=1)
r = rrule(DAILY, byweekday=(MO,TU,WE,TH,FR), dtstart=edate)
return r.after(days-1, inc=True)
# 测试
sdate = datetime.datetime.strptime('2022.01.01','%Y.%m.%d')
edate = workday_add(sdate, 5)
print(edate.strftime('%Y.%m.%d')) # 输出:2022.01.07
```
阅读全文