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;
}

转转请注明出处!

1 楼 zhwtg 2012-08-06  
else if判断条件错了,应该是<=end.getTime()
2 楼 afeifqh 2012-09-05  
zhwtg 写道
else if判断条件错了,应该是<=end.getTime()

+1
posted on 2013-12-11 11:54  davidkam  阅读(8961)  评论(0编辑  收藏  举报