将日期时间生成器对象转换为日期字符串列表

Convert datetime generator object to list of date strings

我在生成器中有一个 DateTime 对象列表

l = [datetime.date(2016, 1, 7), datetime.date(2016, 1, 14), datetime.date(2016, 1, 21), datetime.date(2016, 1, 28), datetime.date(2016, 2, 4)]

我们如何将其转换为日期字符串格式的列表?

输出:

['2016-01-07', '2016-01-21', '2016-01-28', '2016-03-04']

您可以使用 map 并获得所需的输出,如下所示:

import datetime
l = [datetime.date(2016, 1, 7), datetime.date(2016, 1, 14), datetime.date(2016, 1, 21), datetime.date(2016, 1, 28), datetime.date(2016, 2, 4)]
output = list(map(lambda x:x.strftime('%Y-%m-%d'),l))
print(output)
# ['2016-01-07', '2016-01-21', '2016-01-28', '2016-03-04']

使用datetime.strftime

import datetime
l = [datetime.date(2016, 1, 7), datetime.date(2016, 1, 14), datetime.date(2016, 1, 21), datetime.date(2016, 1, 28), datetime.date(2016, 2, 4)]
date_string = [d.strftime('%m-%d-%y') for d in l]
print(date_string)