将列表中的字符串转换为日期时间,导致ValueError:格式不匹配。 '“%d。%m。%Y%H:%M”'

时间:2019-11-28 12:58:03

标签: python list python-2.7 datetime type-conversion

我想将字符串列表转换为日期时间列表。

import datetime as dt
buffer_dates = ["01.10.2016 00:00", "01.10.2016 00:10", "01.10.2016 00:20", "01.10.2016 00:30", "01.10.2016 00:40", "01.10.2016 00:50"]
timestamps = [dt.datetime.strptime(date, '"%d.%m.%Y %H:%M"').date() for date in buffer_dates]

导致-> ValueError:时间数据'01 .10.2016 00:00'与格式'“%d。%m。%Y%H:%M”'不匹配

非常感谢您的帮助!顺便说一句。我正在使用python 2.7。

2 个答案:

答案 0 :(得分:2)

这是一个简单的错误,变化 '"%d.%m.%Y %H:%M"'"%d.%m.%Y %H:%M"

我检查了,效果很好。

答案 1 :(得分:0)

我正在添加此答案,以提供有关该错误的更多信息。正如Mohammad所指出的,双引号"是在格式内推断的,因此不需要在格式内指定它们。 来自python的documentation

  

相反,datetime.strptime()类方法从表示日期和时间的字符串以及相应的格式字符串创建datetime对象。

这意味着该函数的行为是推断正在传递字符串。因此,格式不应包含多余的撇号来表示正在传递字符串。

最后,正如穆罕默德所说:"%d.%m.%Y %H:%M"就足够了。