我正在开发一个围绕用户选择时间段的预订系统,但我一直在尝试检查重叠预订。
我正在尝试创建一个返回所有可用时隙的函数。我有一个名为 bookings
的数组这是当天的预订,我有一个名为 slots
的数组.
我已经尝试遍历数组并尝试这样做:
if (slot.start > booking.dateStart.clone().addMinutes(-30) && slot.end < booking.dateEnd.clone().addMinutes(30))
检查是否有任何重叠,如果有,我会从数组中拼接插槽。我需要在每次预订之间留出 30 分钟的间隔,这就是我增加分钟数的原因。
最佳答案
查找重叠时间段的公式是
start1 <= end2 && end1 >= start2
如果这是真的,那么这些时期确实重叠了。如果您需要留出 30 分钟的间隔,只需将其添加到 end1
和 start2
的比较中即可。
关于javascript - 交叉时隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24854522/