年和周编号中的日期时间



我有一个年和一周的数字,我想将其转换为datetime.datetiem对象。我对文档的(天真的?)阅读暗示strptime('2016 00', '%Y %W')应该这么做。但是:

In [2]: from datetime import datetime
In [3]: datetime.strptime('2016 00', '%Y %W')
Out[3]: datetime(2016, 1, 1, 0, 0)
In [4]: datetime.strptime('2016 52', '%Y %W')
Out[4]: datetime(2016, 1, 1, 0, 0)

我做错了什么?

因此,周数不足以让strptime获得日期。在字符串中添加默认的一周中的某一天,这样它就可以工作了。

> from datetime import datetime
> myDate = "2016 51"
> datetime.strptime(myDate + ' 0', "%Y %W %w")
> datetime.datetime(2016, 12, 25, 0, 0)

0告诉它选择该周的星期天,但你可以在每天0到6的范围内更改。

来自文档(请参阅底部的注释7):

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

因此,只要不指定工作日,就可以有效地获得与datetime.strptime('2016', '%Y')相同的结果。

相关内容

  • 没有找到相关文章

最新更新