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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM