繁体   English   中英

年份和周数的日期时间

[英]Datetime from year and week number

我有一年和一周的数字,我想转换成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')相同的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM