下面是一个示例代码,演示如何按月份显示事件。
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
这个示例代码可以根据实际需求进行修改和扩展。你可以根据自己的数据和显示需求,对代码进行适当的修改。