Python日期时间strptime与日历周数

时间:2017-01-19 23:00:45

标签: python datetime

根据资源,转换包含" 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"。

这只是一个错误还是我忘了做某事?

2 个答案:

答案 0 :(得分:3)

来自documentation

  

当与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之间的微小差异。