这个月的第几周?

2022-02-21 00:00:00 python time week-number

问题描述

python是否提供轻松获取当月当前周的方法(1:4)?


解决方案

为了使用直除法,您要查看的日期的月份日期需要根据每月第一天的位置(在一周内)进行调整。因此,如果您的月份恰好从星期一(一周的第一天)开始,您可以按照上面的建议进行除法运算。但是,如果该月从星期三开始,您将需要添加2,然后进行除法运算。这些都封装在下面的函数中。

from math import ceil

def week_of_month(dt):
    """ Returns the week of the month for the specified date.
    """

    first_day = dt.replace(day=1)

    dom = dt.day
    adjusted_dom = dom + first_day.weekday()

    return int(ceil(adjusted_dom/7.0))

相关文章