我正在开发一个预订系统,该系统围绕用户选择一个时段而工作,我试图检查重叠预订。
我正在尝试创建一个返回所有可用时隙的函数。我有一个名为bookings
的数组,它是当天的预订,我有一个名为slots
的数组。
我已尝试在数组中循环并尝试此操作:
if (slot.start > booking.dateStart.clone().addMinutes(-30) && slot.end < booking.dateEnd.clone().addMinutes(30))
检查是否有任何重叠,以及是否有我从阵列中拼接插槽。我需要在每次预订之间留出30分钟的间隔,这就是为什么我要加分钟。
答案 0 :(得分:6)
找到重叠时间段的公式是
start1 <= end2 && end1 >= start2
如果确实如此,则期间会重叠。如果您需要留出30分钟的差距,只需将其添加到end1
和start2
的比较中。