根据资源,转换包含" year-week_number"的字符串的方法(例如2015-20)到datetime对象如下:
from datetime import datetime
datetime.strptime("2015-20", "%Y-%W")
然而,这并没有给我正确的结果。我得到的是 datetime.datetime(2015,1,1,0,0)
此外:
datetime.strftime(datetime.strptime("2015-20", "%Y-%W"). "%Y-%W")
实际上会回归" 2015-00"。
这只是一个错误还是我忘了做某事?
答案 0 :(得分:3)
当与strptime()方法一起使用时,%U和%W仅在指定星期几和年份时用于计算。
如果您没有指定星期几,则根据文档忽略%W
参数。
将工作日添加到你想要的任何地方,我把星期一:
>>> datetime.strptime("2015-20-1", "%Y-%W-%w")
datetime.datetime(2015, 5, 18, 0, 0)
答案 1 :(得分:0)
第6点。of the documentation在这里很重要:
与strptime()方法一起使用时,%U和%W仅用于 当指定星期几和年份时的计算。
from datetime import datetime
date = datetime.strptime("2016-12-0", "%Y-%m-%w")
print "Week:"m datetime.strftime(date, "%W")
>>>Week: 48
另外,请注意%W
和%U
之间的微小差异。