python获取工作日_python – 获取下一个工作日的日期
我正在檢查當前日期是否是工作日,如果不是,我想獲得下一個工作日.工作日是周一至周五.
這是我嘗試過的:
import time
from datetime import date,timedelta
dmy=time.strftime("%d-%m-%Y")# getting the current date
if dmy.strftime("%w") in set([6,7]): # checking if its a weekend( Sat/Sun) , if so advancing
dmy=time.strftime("%d-%m-%Y")+ timedelta(days=dmy.strftime("%w")%5) # this statement is not working, it errors out .
語句dmy = time.strftime(“%d-%m-%Y”)timedelta(days = dmy.strftime(“%w”)%5))不起作用.什么是進入下一個工作日的最簡單方法?
解決方法:
您應該使用實際的日期對象,而不是字符串:
>>> import datetime
>>> today = datetime.date.today()
>>> if today.isoweekday() in set((6, 7)):
today += datetime.timedelta(days=today.isoweekday() % 5)
>>> today
datetime.date(2014, 9, 30)
注意,isoweekday是1(星期一)到7(星期日),而weekday是0到6.
此外,請注意您的邏輯目前在星期六和星期日的兩天增加了一天,這是不正確的 – 我想你想要:
>>> if today.isoweekday() in set((6, 7)):
today += datetime.timedelta(days=8 - today.isoweekday())
例如:
>>> day = datetime.date(2014, 10, 4)
>>> day
datetime.date(2014, 10, 4) # Saturday
>>> if day.isoweekday() in set((6, 7)):
day += datetime.timedelta(days=8 - day.isoweekday())
>>> day
datetime.date(2014, 10, 6) # Monday
標簽:python,date
來源: https://codeday.me/bug/20190717/1490445.html
總結
以上是生活随笔為你收集整理的python获取工作日_python – 获取下一个工作日的日期的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 支付宝中买基金产品,切勿追涨杀跌
- 下一篇: 看代码的软件_软件著作权申请中常见的补正