我想将字符串列表转换为日期时间列表。
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。
答案 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"
就足够了。