Это частный случай, поясненный в комментариях, чтобы избежать интервала other
, который имеет длительность 0 (начало == конец), который будет расположен в thisEnd
thisStart
время включено, thisEnd
время исключено
[с 09:00 до 10:00) содержит [с 10:00 до 10:00) = false (otherStart равно thisEnd)
this --+
|----------| +--- not contained
| <-- other --+
this --+
|----------| +--- contained
| <-- other --+
this --+
|----------| +--- contained
| <-- other --+