重写打印日期时间对象列表时的默认格式
我在用 Python 3 编程:
print('event {} happened on these dates: {}'.format(event_name, date_list))
我的 date_list
是一个包含 datetime.date
对象的列表。我想把日期的格式从:
事件 A 发生在 [datetime.date(2011, 5, 31), datetime.date(2011, 6, 15)]
改成:
事件 A 发生在 [2011-05-31, 2011-06-15]
有什么好的方法可以做到这一点吗?我希望能继续使用 format()
函数,但我不知道怎么做。
1 个回答
5
打印一个列表时,会显示列表中每个项目的repr
(表示形式)。如果你想要得到这些项目的str
(字符串表示),你需要明确地对每个项目使用str
函数。
In [6]: import datetime as dt
In [7]: date_list = [dt.date(2011, 5, 31), dt.date(2011, 6, 15)]
In [8]: print('[{}]'.format(', '.join(map(str,date_list))))
[2011-05-31, 2011-06-15]