请问我的代码有什么问题:
import datetime
d = "2013-W26"
r = datetime.datetime.strptime(d, "%Y-W%W")
print(r)
显示“ 2013-01-01 00:00:00”,谢谢。
周数不足以生成日期。您也需要一周中的某一天。添加默认值:
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] 删除。
我来说两句