在python 2.7中'yyyy-mm-dd'字符串转换为3元组日期时间对象



我正在尝试使用strptime将'yyyy-mm-dd'字符串的列表转换为dateTime对象的列表。

    dates = ['2014-01-01', '2014-03-07']
    datetime_objects = [datetime.strptime(date, '%Y-%m-%d') for date in dates]

打印datetime_objects给我:

    [datetime.datetime(2014, 1, 1, 0, 0), datetime.datetime(2014, 3, 7, 0, 0)]

我需要三翼对象,而不需要小时和分钟。我该如何得到这个?

    [datetime.datetime(2011, 2, 21), datetime.datetime(2011, 9, 5)]. 

我正在使用Python 2.7。

您不需要datetime对象;您需要date对象,该对象由date方法提供:

from datetime import datetime
dates = ['2014-01-01', '2014-03-07']
date_objects = [datetime.strptime(date, '%Y-%m-%d').date()
                     for date in dates]

每个dateTime对象都有.date()选项:

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)]

最新更新