我有一个 ISO 8601 年和周编号,我需要将其转换为该周(星期一)第一天的日期。我怎样才能做到这一点?
datetime.strptime()接受 a%W
和一个%U
指令,但都不遵守datetime.isocalendar()使用的 ISO 8601 工作日规则。
更新: Python 3.6支持 libc 中也存在的%G
,%V
和%u
指令,从而允许这种单行:
>>> datetime.strptime('2011 22 1', '%G %V %u')
datetime.datetime(2011, 5, 30, 0, 0)
更新 2:Python 3.8添加了该fromisocalendar()
方法,更加直观:
>>> datetime.fromisocalendar(2011, 22, 1)
datetime.datetime(2011, 5, 30, 0, 0)