時間段的重疊判斷

 
兩個時間段判斷是否重疊比較常見,
如: startdate1 -- enddate1
      startdate2 -- enddate2
固然前提是保證開始時間早於結束時間,什麼你問若是不是?那你就本身處理一下保證開始時間早於結束時間.
可能首先想到的是
(startdate2 between startdate1 and enddate1)
or (enddate2 between startdate1 and enddate1)
or(startdate1 between startdate2 and enddate2 )
or(enddate1 between startdate2 and enddate2)
 
以此類推,多段也貌似可以判斷,可是否能徹底覆蓋到呢?有興趣能夠本身驗證一下.
可是我的感受有點麻煩,在此介紹一個簡單的方法.若是你發現此方法有問題歡迎一塊兒討論.
 
假設要加入的時間段爲 as1  ae1
已存在的全部時間段爲  xs1  xe1
xe1>as1 and xs1<ae1
知足有重疊,不知足無重疊
 
  時間段的重疊判斷
同時知足綠和紅則有重疊
綠線:已存在的全部結束時間大於要添加的開始時間
紅線:已存在的全部開始時間都小於要添加的結束時間
相關文章
相關標籤/搜索