从周数获取date

请问我的代码有什么问题:

import datetime d = "2013-W26" r = datetime.datetime.strptime(d, "%YW%W") print(r) 

显示“2013-01-01 00:00:00”,谢谢。

一个星期的数字是不足以产生一个date; 你也需要每周的一天。 添加一个默认值:

 import datetime d = "2013-W26" r = datetime.datetime.strptime(d + '-0', "%YW%W-%w") print(r) 

-0-%w模式告诉parsing器在那周select星期日。 这输出:

 2013-07-07 00:00:00 

你可以select自己的工作日,最适合你的用例。 %W模式基于星期几,因此在这里可能是-1更好的默认值。

请参阅文档中的strftime()strptime()行为部分,脚注4:

strptime()方法一起使用时, %U%W仅在指定星期几和年份的计算中使用。