Python:后续月份的星期几位置
给定一个日期,怎么知道这个日期在这个月是星期几的位置(比如:这个月的第三个星期二)?还有,怎么找到下个月同样的星期几的日期(比如:下个月的第三个星期二)?
4 个回答
2
可以看看这个叫 dateutil 的东西。
3
看看这个叫做 datetime 的模块。特别是里面的 weekday 方法,它是用来获取一个日期是星期几的。还有 isocalendar 这个方法也可能会对你有帮助。
2
在下面的例子中,d
是一个 datetime.date
对象。
如果你想知道这个日期在当前月份中是第几天,可以使用
def weekday_index(d):
return (d.day + 6) // 7
这个公式不管日期是星期几都能用。要找下个月同样星期几且同样位置的日期,最简单的方法似乎是
d_next = d + datetime.timedelta(weeks=4)
if weekday_index(d_next) < weekday_index(d):
d_next += datetime.timedelta(weeks=1)
这里利用了你要找的日期距离 d
要么是4周,要么是5周的事实。