欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python获取工作日_python – 获取下一个工作日的日期

发布时间:2024/9/27 python 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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 – 获取下一个工作日的日期的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。