phdstudent
phdstudent

Reputation: 1144

Convert list of datetime.datetime variables

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

Answers (3)

Keerthana Prabhakaran
Keerthana Prabhakaran

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

hankym
hankym

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

user7116090
user7116090

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

Related Questions