我是Python的新手,我一直在努力解决似乎很简单的问题,但是我注意到所有这些代码都在堆积,我迷路了。

我只需要该月的第三个星期四的下一次出现日期,无论是本月还是下个月。

这与可能的重复问题不同,因为我没有测试以确定给定的日期是否是第三个星期四,所以我只是想在运行脚本时吐出下一个出现的第三个星期四。

我期待能够制作这样的东西(或解决更复杂的问题!),但是我真的需要立即使这段代码运行。如果您能帮助我解决难题,并在此过程中给我留下一些有用的意见,我将不胜感激!

非常感谢。

最佳答案

这是你想要的?根据今天的1/19和2019年1月的第三个星期四的1/17输出2019-2-21。基本上将这些其他答案用于详细说明。这是原始dup注释(已删除)-How to calculate next Friday?。只是问是否有任何需要解释。

import datetime

today = datetime.date.today()
next_thursday = today + datetime.timedelta(((3 - today.weekday()) % 7))
while True:
    if 15 <= next_thursday.day <= 21:
        next_third_thursday = next_thursday
        break
    else:
        next_date = next_thursday + datetime.timedelta(days=1)
        next_thursday = next_date + datetime.timedelta(((3 - next_date.weekday()) % 7))

print(next_third_thursday)

09-28 10:19