从ISO周数中获取日期在Python中

7 浏览
0 Comments

从ISO周数中获取日期在Python中

可能重复:

如何找到datetime.isocalendar()的逆运算的最佳方法?

我有一个符合ISO 8601的年份和周数,我需要将其转换为该周第一天(星期一)的日期。如何做到这一点?

datetime.strptime()函数接受%W%U指示符,但都不符合datetime.isocalendar()使用的ISO 8601工作日规则。

更新:Python 3.6支持%G%V%u指示符,这允许使用以下一行代码实现:

>>> from datetime import datetime
>>> datetime.strptime('2011 22 1', '%G %V %u')
datetime.datetime(2011, 5, 30, 0, 0)

更新2:Python 3.8添加了fromisocalendar()方法,它更加直观:

>>> from datetime import datetime
>>> datetime.fromisocalendar(2011, 22, 1)
datetime.datetime(2011, 5, 30, 0, 0)

0