发现时间在Python的某个时间范围内重叠



我在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)

最新更新