如何使用 Python 获取上周五的日期?

How to get last Friday's date with Python?

有没有办法使用 Python 获取上周五的日期并将其存储在变量中,而不管程序 运行s 是一周中的哪一天?

也就是说,如果我 运行 2021 年 6 月 19 日星期一或 2021 年 6 月 22 日星期四的程序,它总是 returns 以前的星期五作为日期变量:2021-07-16。

我们使用 datetime.datetime.today().weekday() 将星期几作为 int 并从日期时间中减去天数,我们使用 datetime.today() - timedelta(days=days_to_subtract) 现在我们可以制作一个字典将星期几链接到减法的天数并使用该字典进行减法:

from datetime import datetime, timedelta
d = {0:3,1:4,2:5,3:6,4:0,5:1,6:2}
lastfriday = datetime.today()-timedelta(days=d[datetime.today().weekday()])

您的问题类似于this one 这是一个起点:

import datetime

def get_last_friday():
    current_time = datetime.datetime.now()
    last_friday = (current_time.date()
        - datetime.timedelta(days=current_time.weekday())
        + datetime.timedelta(days=4, weeks=-1))
    return last_friday