我想要接下来三个月的每个月的最后一个星期五。
Friday_date = datetime.date.today()
while Friday_date.weekday() != 4:
Friday_date += datetime.timedelta(1)
这给了我最近的星期五。我想确保这是本月的最后一个星期五,以便我可以添加 28 天以获得下一个星期五。
最佳答案
最简单的方法是使用模块 dateutil
:
>>> from dateutil.relativedelta import FR, relativedelta
>>> datetime.date.today()+relativedelta(day=31, weekday=FR(-1))
datetime.date(2021, 6, 25)
不要假设只需添加 28 天就可以获得后续月份的最后一个星期五。它并不总是有效。将 28 天添加到 2024 年 2 月的最后一个星期五,您将得到:
>>> datetime.date(2024,2,1)+relativedelta(day=31, weekday=FR(-1), days=28)
datetime.date(2024, 3, 22)
但那个月的最后一个星期五是 3 月 29 日。让 dateutil
为您正确地执行此操作:
>>> datetime.date(2024,2,1)+relativedelta(day=31, weekday=FR(-1), months=1)
datetime.date(2024, 3, 29)
关于python - 在python中获取每个月的最后一个星期五,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68014571/