判断两个日期区间、时间区间、IP 地址段是否存在交集是很常见的需求。 具体来说: 1.1.1.0/24 和 1.1.1.0/31 这两个 IP 段中是否有重叠的地址? 一个故障事件发生在 11:20 - 13:10 ,客户使用服务的时间是 12:10 - 16:00 这个客户是否受到这个故障的影响? 可以把 IP 转换为 int 形式,同样把时间转换为 Unix 时间戳形式。那么这类问题就变成了为判断 [ A, B ],[ x, y ] 两个闭区间是否存在交集。 提出一种判断方法供大家一起讨论。 考虑到必然存在 A…