Python获得最近的星期五的日期
weekday()
0~6表示星期一到星期天。要得到星期五,如果是星期一就是0-3,如果是星期天就是6-2
可以通过建立字典与要减去的天数联系起来,也可以通过计算偏移量来实现,4是星期五,所以要-4
方法一:
要将一周中的某一天作为int,我们使用datetime.datetime.today().weekday()
;要从datetime中减去days,我们使用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()])
方法二:
也可以让他自动计算字典值
from datetime import date
from datetime import timedelta
today = date.today()
offset = (today.weekday() - 4) % 7
friday = today - timedelta(days=offset)
print(friday)
参考
https://stackoverflow.com/questions/68477122/how-to-get-last-fridays-date-with-python
https://www.pythonprogramming.in/how-to-get-last-friday-in-python.html