Python 无法将datetime以正确格式提取的时间附加到空列表中

Python 无法将datetime以正确格式提取的时间附加到空列表中,python,datetime,Python,Datetime,我使用datetime从数据框中的字符串中获取时间 for i in DateTime: istring= str(i) try: time = datetime.datetime.strptime(istring, '%m/%d/%Y %H:%M:%S %p').time() print(time) except Exception as Argument: pass 我从中得到的结果是我想要的正确格式的时间 03:1

我使用datetime从数据框中的字符串中获取时间

for i in DateTime:
    istring= str(i)
    try:
        time = datetime.datetime.strptime(istring, '%m/%d/%Y  %H:%M:%S %p').time()
        print(time)
    except Exception as Argument:
        pass
我从中得到的结果是我想要的正确格式的时间

03:12:34
03:20:59
03:29:30
03:38:01
03:46:32
03:55:02
04:03:32 ...
但是,当我将时间附加到列表中而不是在每次循环后打印时:

TimeList = []    
for i in DateTime:
        istring = str(i)
        try:
            time = datetime.datetime.strptime(istring, '%m/%d/%Y  %H:%M:%S %p').time()
            TimeList.append(time)
        except Exception as Argument:
            pass
    print(TimeList)
我的“时间清单”变成:

[datetime.time(3, 12, 34), datetime.time(3, 20, 59), datetime.time(3, 29, 30), ...
我希望我的列表包含在第一个示例中我的代码打印出来的时间

我试图将类型从更改为,但没有任何效果。

使用:

time = str(datetime.datetime.strptime(istring, '%m/%d/%Y  %H:%M:%S %p').time())

添加str()显式接受字符串,因为时间变量最初是一个对象,并且在列表中显示为该对象。这就是它看起来不同的原因。

如果您只想存储时间的字符串表示形式,您可以这样做:
TimeList.append(time.strftime(“%H:%M:%S”)
。调用
print
可以为您提供时间对象的字符串表示形式(对象的
\uu str\uu
方法的返回值)。它不会改变物体本身。太棒了,就是这样,谢谢!