重写打印日期时间对象列表时的默认格式

1 投票
1 回答
774 浏览
提问于 2025-04-17 11:51

我在用 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]

撰写回答