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

Python: Return the date of the next occurence of a third Thursday of the month

我对 Python 有点陌生,我一直在努力解决看似简单的问题,但我注意到所有这些代码堆积如山,我只是迷失了酱汁。

我只需要该月的第三个星期四的下一个日期,无论是当前月份还是下个月。

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

我期待能够做出这样的东西(或解决更复杂的问题!),但我现在确实需要得到这段代码 运行ning。如果您能帮助我解决我的难题,我将不胜感激,并在此过程中给我留下一些有用的意见!

非常感谢。

使用

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

这是您要找的吗?它输出 2019-2-21,基于今天是 1/19,一月的第三个星期四是 1/17。基本上使用这些其他答案进行详细解释。这是原来的重复评论(已删除)- 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)