使用datetime.strptime创建日期时间对象列表

时间:2016-03-08 21:16:43

标签: python list datetime strptime

我有一个字符串列表。

date_str = ["2012-11-04 1:05:21", "2013-11-03 1:05:21", "2014-11-02 1:07:31"]

我想将它们作为日期时间对象阅读。对于一个字符串,我做

datetime.strptime(date_str[1], "%Y-%m-%d %H:%M:%S")

但我不知道如何创建日期时间对象列表。 如果我使用

datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")

我收到此错误:

TypeError: must be string, not list

我尝试使用循环:

x = datetime.strptime(date_str[0], "%Y-%m-%d %H:%M:%S")
for i in range(1,len(date_str)):
    x.append(datetime.strptime(date_str[i], "%Y-%m-%d %H:%M:%S"))

但是我收到以下错误

AttributeError: 'datetime.datetime' object has no attribute 'append'

有没有办法创建日期时间对象列表?

1 个答案:

答案 0 :(得分:0)

x必须是一个列表:

x = []
for i in range(len(date_str)):
    x.append(datetime.strptime(date_str[i], "%Y-%m-%d %H:%M:%S"))

然后,您可以附加所有日期时间对象。或者更多的Python:

x = [datetime.strptime(s, "%Y-%m-%d %H:%M:%S") for s in date_str]