【发布时间】:2016-12-26 17:21:57
【问题描述】:
我在一天内有以下时间段:
1) 9:00 至 13:00
2) 9:30 至 10:30
3) 9:30 到 10:30(这里特意把这个间隔设为 2x)
4) 11:00 至 12:00
我可以在水平时间线上可视化时间段:
时间段 1)
|--------------------------------------------|
9:00 13:00
时间段 2)
|-------------|
9:30 10:30
时间段 3)
|-------------|
9:30 10:30
时间段 4)
|-------------|
11:00 12:00
我正在尝试找出一种 Python 方法,该方法将在输入上占用 N 个时隙并返回不同的时间窗口以及一个窗口与另一个窗口重叠的次数。对于上面的例子,预期的输出应该是这样的:
窗口 1:9:00 - 9:30,插槽计数 1
窗口 2:9:30 - 10:30,时段数 3
窗口 3:10:30 - 11:00,插槽计数 1
窗口 4:11:00 - 12:00,插槽计数 2
窗口 5:12:00 - 13:00,插槽计数 1
谁能指出我如何在 Python 3 中解决这个问题的正确方向?
【问题讨论】:
-
提示:(1)按开始时间排序区间; (2) 对于每个区间,如果与下一个区间相交,则合并它们,并计算合并次数。
标签: python datetime intervals slots