首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查计划是否重叠?

问检查计划是否重叠?
EN

Stack Overflow用户
提问于 2011-04-06 19:27:12
回答 2查看 2.5K关注 0票数 0

我需要找出一个新创建的事件是否超过任何现有的事件。

事件表

代码语言:javascript
复制
ID EventName StartTime EndTime 
1  Event1    11:30AM   12PM    
2  Event2    11:30AM   11:40AM 
3  Event3    11:40AM   12PM    
4  Event4    12PM      12:30PM 
5  Event5    11:30AM   12:30PM 

在上表中,事件2与事件1重叠,事件3与事件1重叠,事件5与事件1重叠...

当前事件开始时间和已有计划结束时间、当前结束时间和已有计划开始时间可以相同。

我尝试使用以下逻辑比较新事件事件时间是否与现有事件时间重叠,但失败了

代码语言:javascript
复制
if (currentStartTime == schedule.StartTime)
{
count++;
continue;
}
else if (currentStartTime == schedule.EndTime)
{
continue;
}
else if (currentEndTime == schedule.StartTime)
{
continue;
}
else if (currentStartTime > schedule.StartTime && currentStartTime < schedule.EndTime     && currentEndTime >= schedule.EndTime)
{
count++;
continue;
}
else if (currentEndTime <= schedule.EndTime && currentEndTime > schedule.StartTime &&     currentStartTime < schedule.StartTime)
{
count++;
continue;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-06 19:31:47

倒过来问“什么时候两个间隔不重叠?”可能更简单。答:当区间A的末尾等于区间B的起点时,或者当区间B的终点为<=时,区间A的起点就是区间A的起点。为此创建一个表达式,并求反。

票数 2
EN

Stack Overflow用户

发布于 2011-04-06 19:32:27

您可能会发现following article很有用,尤其是TimePeriodIntersector类。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5565564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档