Time 检查:具有不同参数和时隙的两个RRule的重叠

Time 检查:具有不同参数和时隙的两个RRule的重叠,time,overlap,Time,Overlap,我必须创建一个算法,在该算法中,我将获得两个不同的RRULE,它们具有不同的频率、间隔、计数和开始时间。此外,将为这些RRule提供相应的时隙,以创建时间范围,就像日历中的重复事件一样。我需要检查给定的两个具有各自时隙的RRule是否相互重叠,即使是在整个未来一次,直到RRULEs构建完成 可在此处查看RRULEs: 现在,我想到了一种简单情况的方法,在这种情况下,我首先确定两个RRULEs将重复(repeat)或两个RRULEs的freq的gcd(maximust common divisio

我必须创建一个算法,在该算法中,我将获得两个不同的RRULE,它们具有不同的频率、间隔、计数和开始时间。此外,将为这些RRule提供相应的时隙,以创建时间范围,就像日历中的重复事件一样。我需要检查给定的两个具有各自时隙的RRule是否相互重叠,即使是在整个未来一次,直到RRULEs构建完成

可在此处查看RRULEs:

现在,我想到了一种简单情况的方法,在这种情况下,我首先确定两个RRULEs将重复(repeat)或两个RRULEs的freq的gcd(maximust common divisior)的最低部分时间,并在该部分时间检查两个时隙是否重叠,然后只构建RRULEs并进行比较。

对于Ex:

频率1=3天
频率2=2天
因此gcd=1天
因此,我将通过比较时间-分-秒部分来检查1天内的时间段是否相互重叠,然后只检查构建完整RRULEs的长度

这里唯一的问题是,对于不同类型的RRULEs频率组合,需要考虑很多情况。

如果有更好的方法或某个图书馆这样做,请让我知道