在python中查找某些时间范围内的时间重叠

在python中查找某些时间范围内的时间重叠,python,datetime,Python,Datetime,我在python中有两个时间范围,我想知道它们之间是否有重叠。我正在寻找一个算法。 例如,我有以下时间范围: r1 = start=(15:30:43), end=(16:30:56) r2 = start=(15:40:35), end=(15:50:20) 如何在python中找到它们之间的重叠?您可以使用pandas包中的DatetimeIndex对象,如下所示: import pandas as pd # create DatetimeIndex objects with *sec

我在python中有两个时间范围,我想知道它们之间是否有重叠。我正在寻找一个算法。 例如,我有以下时间范围:

r1 = start=(15:30:43), end=(16:30:56)
r2 = start=(15:40:35), end=(15:50:20)

如何在python中找到它们之间的重叠?

您可以使用
pandas
包中的
DatetimeIndex
对象,如下所示:

import pandas as pd


# create DatetimeIndex objects with *seconds* resolution
dtidx1 = pd.date_range('15:30:43', '16:30:56', freq='S')
dtidx2 = pd.date_range('15:40:35', '15:50:20', freq='S')

# use the DatetimeIndex.intersection method to get another 
# DatetimeIndex object whose values are what you requested
dtidx1.intersection(dtidx2)

欢迎来到StackOverflow!请阅读上的帖子,也请阅读。完成后,请添加适当的示例,并向我们展示您迄今为止的尝试,以改进您的问题。:-)可能的副本不建议建议建议OP在回答中未指定使用的包。此外,这具体量化到秒,这可能是或可能不是期望的。