使用Python的datetime模块可以比较方便地处理日期和时间。以下是一种基本的方法,它需要将会议的开始和结束时间作为datetime对象,存储在一个列表中。
from datetime import datetime
meetings = [
{
'title': 'Meeting 1',
'start_time': datetime(2021, 1, 1, 10, 0),
'end_time': datetime(2021, 1, 1, 11, 0)
},
{
'title': 'Meeting 2',
'start_time': datetime(2021, 1, 1, 10, 30),
'end_time': datetime(2021, 1, 1, 12, 0)
},
{
'title': 'Meeting 3',
'start_time': datetime(2021, 1, 1, 13, 0),
'end_time': datetime(2021, 1, 1, 14, 0)
},
{
'title': 'Meeting 4',
'start_time': datetime(2021, 1, 2, 10, 0),
'end_time': datetime(2021, 1, 2, 11, 0)
},
]
overlapping_meetings = []
for i in range(len(meetings)):
for j in range(i+1, len(meetings)):
if meetings[i]['start_time'] < meetings[j]['end_time'] and meetings[i]['end_time'] > meetings[j]['start_time']:
overlapping_meetings.append((meetings[i]['title'], meetings[j]['title']))
print(overlapping_meetings)
输出:
[('Meeting 1', 'Meeting 2')]
这里的主要思想是对于任意两个会议,如果它们的开始时间和结束时间发生重叠,就将它们添加到重叠会议列表中。最后,重叠会议列表中将只包含重叠会议的组合。请注意,此方法可以
上一篇:按日历项内容搜索