python时间重叠_python-检测重叠的日期重复规则

我正在使用外观类似于Google日历的应用程序,但有一个主要区别:事件不应与其他事件相交.这意味着即使以分钟为单位,也没有两个事件可以共享公共时间.这对于仅存储会议的日历特别有用,因为不可能在两个会议中同时进行.

就像Google日历一样,可以通过使用重复规则来创建事件(例如,每个星期五和星期天的上午10点到下午13点).所以我想仅使用rrules(python-dateutil模块的)来检测重叠事件,而无需创建N个datetime对象并检查每个对象的交集.

是否可以仅使用规则来检测重叠的日期?在另一个库中是否已经实现了类似的功能?

解决方法:

不,我认为无法分析规则以查看是否可以与另一个规则相交而不创建日期时间对象.

本质上,您是在不运行算法的情况下索要算法的输出,我认为这是不可争议的.

但是,对于某些类型的规则,这是可能的-例如每个星期四的规则不能与每个星期二的规则相交.有问题的是与星期几相交的一个月中的某几天和一年中的某几天,以及从未相交的频率.

最好的选择是制定可以在分析上进行检查的规则,然后为其他规则生成下一年左右的数据并手动进行比较.

该算法可以快速运行,因为您可以在添加每个规则时缓存现有的占用时间.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值