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

posted @   C羽言  阅读(324)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示