【问题标题】:Strptime Weeks ErrorStrptime 周错误
【发布时间】:2015-11-13 02:15:05
【问题描述】:

我正在编写一些脚本,这些脚本需要操纵一年中的哪一周。 我的输入格式为YYYYWW,例如'201435'

在我尝试使用strptime 期间,出于某种原因,它默认为年初。例如:

import datetime
test = '201435'
test = datetime.datetime.strptime(test,'%Y%U')
print(test)

输出

2014-01-01 00:00:00

我不知道为什么会这样。使用time 模块或将%U 替换为%W 具有完全相同的结果。

【问题讨论】:

标签: python datetime strptime


【解决方案1】:

阅读the documentation中的注释6:

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

因此,由于您没有指定该周的某一天,因此周数将被忽略,您将获得一年中的第一天。要解决这个问题,请添加一天:

>>> datetime.datetime.strptime('2014350', '%Y%U%w')
                                    # ^ here   ^ and here
datetime.datetime(2014, 8, 31, 0, 0)

【讨论】:

  • 我很抱歉没有注意到这一点,感谢您的帮助!
猜你喜欢
  • 2016-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多