下面是一个示例代码,演示如何按月份显示事件。
import datetime
# 事件数据
events = [
{
'title': '事件1',
'date': datetime.datetime(2022, 1, 15)
},
{
'title': '事件2',
'date': datetime.datetime(2022, 2, 10)
},
{
'title': '事件3',
'date': datetime.datetime(2022, 1, 20)
},
{
'title': '事件4',
'date': datetime.datetime(2022, 3, 5)
}
]
# 按月份分组事件
events_by_month = {}
for event in events:
month = event['date'].strftime('%Y-%m')
if month not in events_by_month:
events_by_month[month] = []
events_by_month[month].append(event)
# 按月份显示事件
for month, events_in_month in events_by_month.items():
print(month)
for event in events_in_month:
print('- {}: {}'.format(event['date'].strftime('%Y-%m-%d'), event['title']))
print()
这个示例代码首先定义了一个包含事件信息的列表 events
。每个事件有一个标题和一个日期。
然后,通过迭代事件列表,将事件按照月份进行分组,使用字典 events_by_month
存储每个月份对应的事件列表。
最后,按月份遍历 events_by_month
字典,打印每个月份和对应的事件列表。这里使用 strftime
函数将日期格式化为字符串,以便更好地显示。
示例输出:
2022-01
- 2022-01-15: 事件1
- 2022-01-20: 事件3
2022-02
- 2022-02-10: 事件2
2022-03
- 2022-03-05: 事件4
这个示例代码可以根据实际需求进行修改和扩展。你可以根据自己的数据和显示需求,对代码进行适当的修改。