打印日期时间对象列表时覆盖默认格式

时间:2012-01-29 10:21:45

标签: python printing formatting python-3.x

我(在Python 3中):

print('event {} happened on these dates: {}'.format(event_name, date_list))

我的date_listdatetime.date个对象的列表。我想改变格式:

  

事件A发生在[datetime.date(2011,5,31),datetime.date(2011,   6,15)]

  

事件A发生在[2011-05-31,2011-06-15]

实现这一目标的最佳方法是什么?我希望我能继续使用format()函数,但我不知道如何。

1 个答案:

答案 0 :(得分: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]