4

我正在解析来自使用年份和周数显示日期的来源的每周时间序列数据。但是,当尝试使用 Python 的datetime.strptime函数将这些日期转换为 YYYY-MM-DD 日期时,两个不同的周数有时会计算为相同的日期,而我知道它们不应该。每周数据是在星期五结束的那一周。例如:

datetime.strptime("1998-5-53", "%Y-%w-%U")
Out[43]: datetime.datetime(1999, 1, 8, 0, 0)

datetime.strptime("1999-5-01", "%Y-%w-%U")
Out[44]: datetime.datetime(1999, 1, 8, 0, 0)

来自欧洲中央银行的基础数据;一个示例系列在这里

4

1 回答 1

1

1998 年没有 53 周;12 月 31 日是第 52 周:

>>> datetime.strptime("1998-4-52", "%Y-%w-%U")
datetime.datetime(1998, 12, 31, 0, 0)

请注意,%U状态的文档:

一年中的周数(星期日作为一周的第一天),十进制数 [00,53]。第一个星期日之前的新年中的所有日子都被认为是在第 0 周。

可能是您的数据源将第一个星期日之前的几天视为第 1 周。

于 2013-01-28T14:57:26.697 回答