gpt4 book ai didi

python - 获取下一个工作日的日期

转载 作者:太空狗 更新时间:2023-10-30 01:54:23 26 4
gpt4 key购买 nike

我正在检查当前日期是否是工作日,如果不是,我想获取下一个工作日。工作日是从星期一到星期五。

这是我尝试过的:

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)) 不工作.提前到下一个工作日日期的最简单方法是什么?

最佳答案

您应该使用实际的 date 对象,而不是字符串:

>>> 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)

请注意 isoweekday1(星期一)到 7(星期日),而 weekday06


另外,请注意您的逻辑目前将一天加到星期六,将两天加到星期日,这是不正确的 - 我想您想要:

>>> 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 - 获取下一个工作日的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26124531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com