Python:返回该月第三个星期四的下一次出现的日期

时间:2019-01-20 01:08:53

标签: python date datetime calendar datetimeoffset

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

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

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

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

非常感谢您。

2 个答案:

答案 0 :(得分:2)

这是您要找的东西吗?根据今天的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)

答案 1 :(得分:0)

使用

import pandas as pd
current_date = pd.Timestamp('Jan 20, 2019')
while True:
    if 15 <= current_date.day <= 21 and current_date.day_name() == 'Thursday':
        break
    current_date +=pd.DateOffset(1)

print(current_date)

#2019-02-21 00:00:00
相关问题