python - 在python中获取每个月的最后一个星期五

标签 python datetime calendar python-datetime

我想要接下来三个月的每个月的最后一个星期五。

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/

相关文章:

python - 在组中找到最频繁的观察

python - 如何在 Matlab 中读取 .npy 文件

python - 使用 uWSGI 部署时如何使用 getpass 向 Flask 应用程序提供输入?

r 检查 Sys.time() 是否在一天中给定的时间间隔内

C# .net 日期时间到整数值

java - Android 中 calendar.MINUTE 和 calendar.get(Calendar.MINUTE) 的区别

ios - 从手机系统日历更新日历 'start of week'

python - Discord.py - 如何为每个服务器制作齿轮

python - Pandas 数据帧,ValueError : shape mismatch: objects cannot be broadcast to a single shape

android - android中的自定义日历日 View