Reputation: 23
I am trying to convert a list of 'yyyy-mm-dd' strings into a list of datetime objects using strptime.
dates = ['2014-01-01', '2014-03-07']
datetime_objects = [datetime.strptime(date, '%Y-%m-%d') for date in dates]
Printing datetime_objects give me:
[datetime.datetime(2014, 1, 1, 0, 0), datetime.datetime(2014, 3, 7, 0, 0)]
I need 3-tuple objects instead and don't need hours and minutes. How can I get this?
[datetime.datetime(2011, 2, 21), datetime.datetime(2011, 9, 5)].
I am using Python 2.7.
Upvotes: 0
Views: 1246
Reputation: 16154
Each datetime object has the .date() option:
In [167]: date_tuple = []
In [168]: for date in dates:
x = datetime.datetime.strptime(date, '%Y-%m-%d')
date_tuple.append((x.date())) .....:
In [169]: date_tuple Out[169]: [datetime.date(2014, 1, 1), datetime.date(2014, 3, 7)]
Upvotes: 0
Reputation: 531968
You don't want datetime
objects; you want date
objects, which are provided by the date
method:
from datetime import datetime
dates = ['2014-01-01', '2014-03-07']
date_objects = [datetime.strptime(date, '%Y-%m-%d').date()
for date in dates]
Upvotes: 1