有没有一种方法可以使用Python获取上周五的日期并将其存储在变量中,而不管程序在一周中的哪一天运行?
也就是说,如果我在2021年6月19日(星期一(或6月22日(星期四(运行该程序,它总是返回前一个星期五作为日期变量:2021-07-16。
要将一周中的哪一天作为int,我们使用datetime.datetime.today().weekday()
,并从日期时间中减去天数,我们现在使用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()])
您的问题与此类似这里有一个起点:
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