3

我在看起來像Google日曆的應用程序中工作,但有一個主要區別:事件不應與其他事件有交點。這意味着即使在幾分鐘的時間內,沒有兩個事件可能會分享共同的時間。這對於僅存儲會議的日曆特別有用,因爲在兩次會議中不可能同時進行。檢測重疊的日期重複規則

就像Google日曆一樣,可以使用重複規則創建事件(例如,每週五和週日從上午10點到下午13點)。所以我想通過僅使用rrules(python-dateutil模塊)來檢測重疊事件,而不需要創建N個日期時間對象並檢查每個對象的交集。

是否可以通過僅使用rrules來檢測重疊日期?另一個庫中是否有類似的實現?

回答

2

不,我不相信有可能分析一個rrule來查看它是否可以與另一個相交而不創建日期時間對象。

基本上,你要求輸出算法而不運行該算法,我認爲這是不可計算的。

然而,對於某些類型的紙幣,可以 - 例如,每個星期四的每一個節日都不能與每個星期二的節日相交。有問題的是一個月中的幾天,一年中的幾天與星期幾相交,以及不會相交的頻率。

最好的辦法是做分析性分析檢驗的規則,然後爲其他人生成下一年的數據或手動比較。

算法運行速度很快,因爲您可以在添加每個規則時緩存現有的佔用時間。