从星期数获取日期

Ali SAID OMAR:

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

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

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

马丁·彼得斯(Martijn Pieters):

周数不足以生成日期。您也需要一周中的某一天。添加默认值:

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

-1-%w模式告诉解析器挑周一在那一周。输出:

2013-07-01 00:00:00

%W将星期一作为一周的第一天。虽然您可以选择自己的工作日,但如果您偏离工作日,则可能会得到意外的结果。

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

当与使用strptime()方法,%U%W指定了一周,一年中的一天,在计算仅使用。

请注意,如果您的星期数是ISO星期日期,那么您将改为使用%G-W%V-%u这些指令需要Python 3.6或更高版本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章