- 论坛徽章:
- 4
|
本帖最后由 icymirror 于 2014-05-19 18:14 编辑
回复 1# babywd
你可以参考这里的一个说明把1和2合起来判断:
Let ConditionA Mean DateRange A Completely After DateRange B (True if StartA > EndB)
Let ConditionB Mean DateRange A Completely Before DateRange B (True if EndA < StartB)
Then Overlap exists if Neither A Nor B is true
换成python,假定你的用户输入时间是: userStart, userEnd,其它人的在other列表中(每个元素是个(start,end))。
那么,对于任意一个other列表中的元素oneItem,
(userStart > oneItem(1)) OR (userEnd < oneItem(0)) = TRUE的时候,就没有时间上的重叠。
或者,换个表述方式:
(userStart < oneItem(1)) AND (userEnd > oneItem(0)) = TRUE,就有时间上的重叠,False,就没有重叠。 |
|