ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-12-08 01:58:16  阅读:530  来源: 互联网

标签:python-datetime python-dateutil intersection python interval-intersection


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

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

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

解决方法:

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

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

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

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

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

标签:python-datetime,python-dateutil,intersection,python,interval-intersection
来源: https://codeday.me/bug/20191208/2088050.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有