转换datetime.datetime变量列表

时间:2017-03-08 13:17:37

标签: python matlab datetime

我有一个包含多个datetime.datetime类型变量的变量列表。

I.e。:

a['PrTimeStamp']    # Type list
[0] datetime.datetime(2014, 10, 19, 10, 0)  # Type datetime
[1] datetime.datetime(2014, 12, 3, 12, 0)   # Type datetime
[2] datetime.datetime(2014, 12, 4, 0, 0)    # Type datetime
[3] datetime.datetime(2014, 12, 10, 13, 0)  # Type datetime
[4] datetime.datetime(2014, 12, 16, 20, 0)  # Type datetime
[5] datetime.datetime(2014, 12, 17, 2, 0)   # Type datetime

E.g。如果我将print(a['PrTimeStamp'][0])打印到屏幕:2014-10-19 10:00:00

现在我想将此列表转换为matlab可以轻松读取的格式。 我试着做以下事情:

a['PrTimeStamp'] = a['PrTimeStamp'].strftime("%d-%b-%Y %H:%M:%S"))

但我收到了一个错误:

AttributeError: 'list' object has no attribute 'strftime'

3 个答案:

答案 0 :(得分:1)

date[]
for i in a['PrTimeStamp']:
    date.append(i.strftime("%d-%b-%Y %H:%M:%S"))

必须是字典有一个键 PrTimeStamp

答案 1 :(得分:0)

我很确定您需要[\d\w]来格式化日期。类似的东西。

How to change time formats in python?

答案 2 :(得分:0)

由于[' PrTimeStamp']是日期时间对象的列表,您需要迭代列表中的每个项目并格式化其中的日期时间对象!

由于您尚未发布整个代码,

a={}
import datetime
a['PrTimeStamp']  = [ datetime.datetime(2014, 10, 19, 10, 0)
, datetime.datetime(2014, 12, 3, 12, 0)
, datetime.datetime(2014, 12, 4, 0, 0)
, datetime.datetime(2014, 12, 10, 13, 0)
, datetime.datetime(2014, 12, 16, 20, 0)
, datetime.datetime(2014, 12, 17, 2, 0)]
#this is what you need!
print [ts.strftime("%d-%b-%Y %H:%M:%S") for ts in a['PrTimeStamp']]

将打印

['19-Oct-2014 10:00:00', '03-Dec-2014 12:00:00', '04-Dec-2014 00:00:00', '10-Dec-2014 13:00:00', '16-Dec-2014 20:00:00', '17-Dec-2014 02:00:00']

希望它有所帮助!