javascript - 交叉时隙

标签 javascript date

我正在开发一个围绕用户选择时间段的预订系统,但我一直在尝试检查重叠预订。

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

我已经尝试遍历数组并尝试这样做:

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

检查是否有任何重叠,如果有,我会从数组中拼接插槽。我需要在每次预订之间留出 30 分钟的间隔,这就是我增加分钟数的原因。

最佳答案

查找重叠时间段的公式是

start1 <= end2 && end1 >= start2

如果这是真的,那么这些时期确实重叠了。如果您需要留出 30 分钟的间隔,只需将其添加到 end1start2 的比较中即可。

关于javascript - 交叉时隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24854522/

相关文章:

javascript - 如何显示特定于所选下拉选项的项目?

javascript - 查询 : Get div defined in same table row

javascript - Bootstrap 菜单不会掉落或折叠

java - 解析 "1/1/00"为 java 中的 "mm/dd/yy"格式给出 1/1/0001。如何解决?

mysql - 更改 SQL 中的日期

php - postgresql 类型错误

javascript - Spritely div .click 不起作用

Javascript 数据层架构协助

java - 如何在 H2 中将周数格式化为所需格式

php - 24 :00 and 00:00? 之间的区别