Date Range Overlap

Jul. 5, 2016

Date Range Overlap

Only 2 conditions that overlap does not exist

                                |------ Date Range A ------|
|------ Date Range B ------|                                                        

or

|------ Date Range A ------|                                        
                                |------ Date Range B ------|

That means start date A is later than end date B, or end data A is early than start date B.

Overlap exists if neither of them is true.

In rails we can create a scope to find all overlaps

scope :overlaps, -\>(start_date_, end_date_) do
  where “((start_date \<= ?) and (end_date \>= ?))", end_date_, start_date_ 
end

reference:

http://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap

http://baodad.blogspot.com.au/2014/06/date-range-overlap.html