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

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

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

解决方法:

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

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

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

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

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

python时间重叠_python-检测重叠的日期重复规则相关推荐

  1. python时间重叠_Python中的时间范围重叠算法

    我有不同的身份证,开始日期和结束日期, 比如说:[ (5, d.datetime(2010, 9, 19, 0, 0, 0), d.datetime(2010, 9, 19, 0, 5, 10)), ...

  2. python时间重叠_Python如何找到日期时间重叠?

    试试这个:from datetime import datetime t = [(datetime(2014, 1, 23, 14, 49, 6, 185955), datetime(2015, 4, ...

  3. python 取日期_python取出所有的日期

    python取出所有的日期 >>> s = "2020-09-09 we have a meeting" >>> re.findall('[0- ...

  4. python贷款_python 模拟贷款卡号生成规则过程解析

    前言 笔者在测试某web系统的过程中,需要用到"贷款卡号",且此贷款卡号仅能使用一次,保存过后下一次无法再次使用相同的卡号. 遂决定依据它的生成规则,自己写一段代码来实现. 同时为 ...

  5. python集合中的元素不允许重复对吗_python字典中的值为什么不允许重复

    python字典中的值不允许重复的原因是:1.有一条明确原则,每个键只能对应一个项:2.当有键发生冲突时,取最近的赋值:3.键必须是可哈希的. python字典中的值不允许重复的原因是: 字典中的值没 ...

  6. python对大量数据去重_Python对多属性的重复数据去重实例

    python中的pandas模块中对重复数据去重步骤: 1)利用DataFrame中的duplicated方法返回一个布尔型的Series,显示各行是否有重复行,没有重复行显示为FALSE,有重复行显 ...

  7. python判断字符类型编程_Python检测数据类型的方法总结

    我们在用python进行程序开发的时候,很多时候我们需要检测一下当前的变量的数据类型.比如需要在使用字符串操作函数之前先检测一下当前变量是否是字符串.下面小编给大家分享一下在python中如何检测数据 ...

  8. python字典中的值不允许重复_python字典中值不允许重复的原因

    python字典中值不允许重复的原因 发布时间:2020-10-29 10:03:21 来源:亿速云 阅读:104 作者:小新 这篇文章给大家分享的是有关python字典中值不允许重复的原因的内容.小 ...

  9. python视频行人检测_python+opencv3.4.0 实现HOG+SVM行人检测的示例代码

    参照opencv官网例程写了一个基于python的行人检测程序,实现了和自带检测器基本一致的检测效果. opencv版本:3.4.0 训练集和opencv官方用了同一个,可以从http://pasca ...

最新文章

  1. 仿BlogEngine.NET的cnBlog主题
  2. 应用打包Ubuntu下部署ScriptCase应用一例
  3. USTC English Club Note20211212
  4. 1.3.3 改善后的异常处理
  5. mysql报错error2002_mysql中异常错误ERROR:2002的解决方法分享
  6. 描述最常用的5种http方法的用途_05-HTTP协议-万字好文!建议收藏
  7. [转载] numpy.linalg.matrix_power 计算矩阵的次方
  8. 网站开发流程以及HTML5简介(十)
  9. CSS中常用的选择器
  10. 递归下降分析法java_Atitit 表达式原理 语法分析 原理与实践 解析java的dsl  递归下降是现阶段主流的语法分析方法...
  11. 《SQL基础教程》((日)MICK)PDF
  12. 项目经理之初为项目经理
  13. 3种夸克有多少组合?
  14. 希尔贝壳受邀参会IEEE SLT 2021
  15. 《东周列国志》第八十七回 说秦君卫鞅变法 辞鬼谷孙膑下山
  16. cvte软件测试笔试题,CVTE前端笔试20190302
  17. 前端如何创建好看的简洁的蒙版弹窗
  18. 嵌入式计算机的发展阶段,嵌入式系统的定义与发展历史
  19. 浅说万能头<bits/stdc++.h>
  20. phpfetion.php,php 飞信2012最新可用api 接口免费分享phpfetion

热门文章

  1. Java中的面向对象
  2. MySQL的空值查询
  3. 发包工具_java并发包工具类
  4. hbuilderx制作简单网页_网页制作的基本步骤是怎样的?制作简单网页的具体操作有哪些呢?...
  5. 【数据结构-树】2.二叉树遍历与线索二叉树(图解+代码)
  6. 优质 Spring Boot 在线教育平台 源码 免费分享
  7. “面试不败计划”:集合总结
  8. 用python画动图_Python使用matplotlib画动态图
  9. mybatis学习笔记(2)两种配置实现增删改查
  10. mysql慢查询分析