`

java 判断两个时间段是否有交集

阅读更多



如上图:X Y  Z  分别为传来的开始时间可能位于数据库中时间段的位置。

X有三种可能

    即传来的开始时间为与数据可中某条数据的开始位置!
      这样他的结束时间就有三种可能
       1.位于数据库中开始时间(start)之前
       2.位于数据库中开始时间(start)与结束时间(end)之间
       3.位于数据库中结束时间(end)之后

Y 有两种种可能

       1.位于数据库中开始时间(start)与结束时间(end)之间
       2.位于数据库中结束时间(end)之后

Z 只有一种可能

       位于数据库中结束时间(end)之后

有了以上的分析就很明了了!
即传来的开始时间是startTime 结束时间endTime

if((startTime.getTime()<=start.getTime()) &&

     endTime.getTime()>=start.getTime())){
 
return true;

}else if((startTime.getTime()>=start.getTime())&&
        
             startTime.getTime()<=endTime.getTime()){
return true;
}else{
return false;
}

转转请注明出处!
  • 大小: 18.8 KB
分享到:
评论
3 楼 悲伤的小脑 2013-07-23  
这个少了 种情况吧。
就是一个时间段完全包含另外一个时间段,这应该也算是有交集把。
2 楼 afeifqh 2012-09-05  
zhwtg 写道
else if判断条件错了,应该是<=end.getTime()

+1
1 楼 zhwtg 2012-08-06  
else if判断条件错了,应该是<=end.getTime()

相关推荐

Global site tag (gtag.js) - Google Analytics