Reputation: 1144
I have a list of variable that includes several datetime.datetime
type variables.
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. if I make print(a['PrTimeStamp'][0])
it prints to screen: 2014-10-19 10:00:00
.
Now I want to convert this list to a format that can be easily read by matlab. I tried to do the following:
a['PrTimeStamp'] = a['PrTimeStamp'].strftime("%d-%b-%Y %H:%M:%S"))
But I got an error:
AttributeError: 'list' object has no attribute 'strftime'
Upvotes: 0
Views: 1233
Reputation: 3787
Since a['PrTimeStamp'] is a list of date time objects, you need to iterate each item in the list and format the date time object in it!
Since you haven't posted the entire code,
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']]
will print
['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']
Hope it helps!
Upvotes: 0
Reputation: 149
date[]
for i in a['PrTimeStamp']:
date.append(i.strftime("%d-%b-%Y %H:%M:%S"))
a must be a dictionary has a key PrTimeStamp
Upvotes: 1
Reputation:
I'm pretty sure you need data.strftime
to format the dates. Something similar to this.
How to change time formats in python?
Upvotes: 0