ValueError:时间数据'2015-06-29-16:27:07.157 + 00:00I -----'不匹配

时间:2015-06-30 08:13:32

标签: python datetime strptime

我想我错过了一些东西,但我真的尝试了所有可能的日期时间格式组合。这是我最近的尝试,它抛出同样的错误:

datetime.strptime('2015-06-29-16:27:07.157+00:00I-----', "%Y-%m-%d-%H:%M:%S+%I-----")

任何建议都将不胜感激

2 个答案:

答案 0 :(得分:1)

由于您的字符串格式不是有效的日期时间,您可以直接将00:00放在strptime格式上:

>>> datetime.strptime('2015-06-29-16:27:07.157+00:00I-----', "%Y-%m-%d-%H:%M:%S.%f+00:00I-----")
datetime.datetime(2015, 6, 29, 16, 27, 7, 157000)

有关详细信息,请查看https://docs.python.org/2/library/datetime.html

答案 1 :(得分:0)

问题是作为时区格式的格式00:00不是strptime可以使用的格式:它需要类似(+/-)0000的内容,而不需要冒号。所以以下方法确实有效:

>>> datetime.strptime('2015-06-29-16:27:07.157+0000I-----', "%Y-%m-%d-%H:%M:%S.%f%zI-----")
datetime.datetime(2015, 6, 29, 16, 27, 7, 157000, tzinfo=datetime.timezone.utc)

但您需要删除时区部分中的: