【问题标题】:Mystery problem converting list of dates using datetime使用日期时间转换日期列表的神秘问题
【发布时间】:2018-09-13 05:19:29
【问题描述】:
import datetime

format = "%m/%d/%y"

qq=['7/8/2018', '6/3/2018', '5/28/2018', '5/20/2018', '5/6/2018', '5/5/2018', '3/25/2018', '3/24/2018', '3/23/2018', '3/11/2018', '3/11/2018']

date0 = datetime.datetime.strptime(qq[1],format).date()

print (date0)

给出了很多错误。不明白为什么

【问题讨论】:

  • %y 是 2 位数年份,你想要 %Y
  • “给出了很多错误”请务必发布实际错误/错误,以便我们提供帮助。

标签: python list date datetime


【解决方案1】:

“%y”格式是两位数的年份。试试“%Y”。

import datetime

format="%m/%d/%Y"

qq=['7/8/2018', '6/3/2018', '5/28/2018', 
    '5/20/2018', '5/6/2018', '5/5/2018', 
    '3/25/2018', '3/24/2018', '3/23/2018', 
    '3/11/2018', '3/11/2018']

date0=datetime.datetime.strptime(qq[1],format).date()

print (date0)

给我:

2018-06-03

哪个对qq[1](qq的第二个元素)是正确的

严格来说,日期数字应该是零填充的,所以 qq[1] 应该是 '06/03/2016',而不是 '6/3/2016'。参考:https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior。但它似乎工作正常(在 Python 3.7.0 中,对我来说)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-03
    • 2017-05-14
    • 1970-01-01
    • 2018-12-07
    • 2021-04-30
    • 1970-01-01
    • 2012-12-30
    • 2019-05-31
    相关资源
    最近更新 更多