我一直在检查重叠时间。我的日历实现允许循环或环绕时间(因此在结束时间之后有开始时间是可能的)
例如:starttime=3:30pm
,endtime=3:29pm
,timeduration=23小时59分钟
我在网上找到的一些答案,当结束时间严格地晚于开始时间时起作用。我该怎么解决这个?我正在使用这个StackOverflow解决方案,但它不能完全工作:确定两个日期范围是否重叠
在这张图片中,两个时间范围重叠,但我的植入没有正确地识别它:重叠的时间
这里是调试输出,它应该返回True,但不是:debug output
如果你考虑单独的时间,你的间隔可以跨越48个小时:极端的时间是11:59:59pm到11:59:58pm。
从本质上说,这将映射到0:00到48:00。我要做的第一件事是将上午/下午转换为军事时间。如果结束和开始之间的差异是负数,则添加一个检查,如果是,我将为结束时间添加24小时。
现在您需要找到重叠的部分。