如果是星期四,如何检查每个日期,如果不是,则打印下一个星期四

How to check each date if it's Thursday, if not print the following Thursday

我有一列标准日期时间格式的日期。我必须检查每个日期是否是星期四,如果是星期四则打印。如果不是,则必须在下周四打印。

以下函数将为每个星期四打印 It is Thursday 或为任何给定日期打印下一个 Thursday 的日期。

import datetime


def next_thursday(date):
    # Thursday is day 3 in Python (Monday = 0)
    days_ahead = 3 - date.weekday()
    if days_ahead == 0:
        print("It is Thursday")
    # if Thursday has already happened this week we need to add 7 days to the difference
    elif days_ahead < 0:
        days_ahead += 7
    # actually add the time delta using timedelta() 
    print(date + datetime.timedelta(days=days_ahead), "will be the next Thursday")


date = datetime.datetime.today()
next_thursday(date)

以下是 Python 脚本,它将上述函数应用于数据框列中的 20 个生成的随机日期。

def random_date():
    today = datetime.datetime.today()
    offset = random.randint(0, 100)
    return today + datetime.timedelta(days=offset)


dateCol = [random_date() for _ in range(20)]
df = pd.DataFrame({"date": dateCol})


df["date"].apply(next_thursday)