【问题标题】:time data '2022-01-07T02:05:1' does not match fotmat '%Y-%m-%d%H:%M:%S'时间数据\'2022-01-07T02:05:1\'不匹配格式\'%Y-%m-%d%H:%M:%S\'
【发布时间】:2022-07-29 03:05:24
【问题描述】:

我的日期字符串有一些无法预料的错误。我有一个尝试/除了浏览它,它工作了一段时间,但现在我遇到了这个。

这是我当前的代码:

def parse_date(date_string):
    try:
        return datetime.datetime.strptime(date_string, \"%Y-%m-%dT%H:%M:%SZ\")
    except ValueError:
            return datetime.datetime.strptime(date_string, \"%Y-%m-%d %H:%M:%S\")

我除了尝试对某些格式进行另一种尝试/排除以解决缺少零填充的问题,例如:

def parse_date(date_string):
    try:
        return datetime.datetime.strptime(date_string, \"%Y-%m-%dT%H:%M:%SZ\")
    except ValueError:
            try:
                return datetime.datetime.strptime(date_string, \"%Y-%m-%d %H:%M:%S\")
            except:
                return datetime.datetime.strptime(date_string, \"%Y-%m-%d %H:%M:%-S\")

到目前为止没有运气。有什么建议我可以从这里去吗?

  • 错误消息的格式字符串中缺少T。为什么?并向我们​​展示完整的错误回溯!

标签: python datetime valueerror strptime


【解决方案1】:

你只需要在最后删除 Z 就可以了。

def parse_date(date_string):
    try:
        return datetime.datetime.strptime(date_string, "%Y-%m-%dT%H:%M:%S")
    except ValueError:
        return datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")

【讨论】:

    猜你喜欢
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 2018-12-30
    • 2022-01-20
    • 1970-01-01
    • 2022-12-22
    • 1970-01-01
    相关资源
    最近更新 更多