相交时隙

时间:2014-07-20 20:16:54

标签: javascript date

我正在开发一个预订系统,该系统围绕用户选择一个时段而工作,我试图检查重叠预订。

我正在尝试创建一个返回所有可用时隙的函数。我有一个名为bookings的数组,它是当天的预订,我有一个名为slots的数组。

我已尝试在数组中循环并尝试此操作:

if (slot.start > booking.dateStart.clone().addMinutes(-30) && slot.end < booking.dateEnd.clone().addMinutes(30))

检查是否有任何重叠,以及是否有我从阵列中拼接插槽。我需要在每次预订之间留出30分钟的间隔,这就是为什么我要加分钟。

1 个答案:

答案 0 :(得分:6)

找到重叠时间段的公式是

start1 <= end2 && end1 >= start2

如果确实如此,则期间会重叠。如果您需要留出30分钟的差距,只需将其添加到end1start2的比较中。