【问题标题】:Trying to convert str to datetime with strptime and getting error尝试使用 strptime 将 str 转换为 datetime 并出现错误
【发布时间】:2020-04-28 18:50:55
【问题描述】:

由于某种原因 strptime 函数产生错误但我不知道为什么

最初我想做的看起来像

test = datetime.datetime.strptime('12/16/2019 0:00', '%d/%m/%Y %I:%M')

但是出现错误后,我也尝试了其他格式,还是一样

test = datetime.datetime.strptime('12/16/2019 00:00', '%d/%m/%Y %H:%M')

错误是

Traceback(最近一次调用最后一次): 文件“C:/Users/pavlo/PycharmProjects/test/test2.py”,第 22 行,在 测试 = datetime.datetime.strptime('12/16/2019 00:00', '%d/%m/%Y %H:%M') _strptime_datetime 中的文件“C:\Users\pavlo\AppData\Local\Programs\Python\Python38-32\lib_strptime.py”,第 568 行 tt, 分数, gmtoff_fraction = _strptime(data_string, 格式) 文件“C:\Users\pavlo\AppData\Local\Programs\Python\Python38-32\lib_strptime.py”,第 349 行,在 _strptime raise ValueError("时间数据 %r 与格式 %r 不匹配" % ValueError: 时间数据 '12/16/2019 00:00' 与格式 '%d/%m/%Y %H:%M' 不匹配

【问题讨论】:

  • 您要求它使用格式日/月/4 位数年时:分,但显然您正在传递月/日/年时、分... 12/16/2019 ...找不到第 16 个月,因此值错误。以下引号应该有效.. "test = datetime.datetime.strptime('12/16/2019 00:00', '%m/%d/%Y %H:%M')" .. 我建议你阅读有关 datetime 模块的更多信息。

标签: python datetime


【解决方案1】:

您应该将日期和月份的顺序恢复,%d/%m/ 到 %m/%d/ 或 12/16 到 16/12

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多