【问题标题】:How to get a year-week text in Python?如何在 Python 中获取一年一周的文本?
【发布时间】: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) 这是错误的。

【问题讨论】:

  • This 可能是相关的。此外,熊猫似乎支持 ISO 8601 标准,例如见here
  • 你试过你的代码了吗?我尝试了datetime.date(2020, 12, 30).isocalendar() 并得到了datetime.IsoCalendarDate(year=2020, week=53, weekday=3)

标签: python python-3.x date week-number


【解决方案1】:

谢谢。我试着给出我的答案。您可以像这样轻松使用 datetime python 模块:

from datetime import datetime
date = datetime(year, month, day)

# And formating the date time object like :
date.strftime('%Y-%U')

然后您将获得总信息变化的年份和周数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多