【发布时间】:2022-01-29 07:23:03
【问题描述】:
我有一个表格,其中包含有关特定日期所做更改数量的信息。我想以YYYY-WW(例如2022-01)的格式向它添加一个文本字段,它表示一天中的周数。我需要这些信息来确定在哪一周更改的总数最高。
如何在 Python 中确定周数?
下面是基于this answer的代码:
week_nr = day.isocalendar().week
year = day.isocalendar().year
week_nr_txt = "{:4d}-{:02d}".format(year, week_nr)
乍一看似乎可行,但我不确定week_nr_txt 是否会根据ISO 8601 标准包含年-周元组。
会吗?
如果不是,我需要如何更改我的代码以避免任何与周相关的错误(示例见下文)?
与一周相关的错误示例:y1 年有 53 周,最后一周溢出到 y1+1 年。
正确的年-周元组是y1-53。但我担心我上面的代码会导致y2-53 (y2=y1+1) 这是错误的。
【问题讨论】:
-
你试过你的代码了吗?我尝试了
datetime.date(2020, 12, 30).isocalendar()并得到了datetime.IsoCalendarDate(year=2020, week=53, weekday=3)
标签: python python-3.x date week-number