有一些类似的问题被提出,但我找不到这个具体问题的解决方案,感激您的帮助。
我正在开发一个预订引擎,用户可以在线预订某些服务。我现在需要找到并显示特定日期(或一周内)内可用的时间段。我知道所需时间段的长度(例如1小时),以及可预订时间段的营业时间(例如09:00-18:00)。此外,我还有一个MySQL表格,用于存储已经存在的预约。与我提出问题相关的列如下:
id start (datetime) end (datetime)
1 '2012-11-16 13:00:00' '2012-11-16 14:30:00'
2 '2012-11-16 15:00:00' '2012-11-16 16:00:00'
3 '2012-11-17 12:00:00' '2012-11-16 15:45:00'
4 '2012-11-17 13:00:00' '2012-11-16 16:15:00'
...
现在根据上述信息,我无法找到一个好的解决方案(在MySQL或PHP中)来检索可用时间段列表。还有一个条件:时间段只能按季度开始。即,对于上面的示例数据,在第16个可用的一小时时间段将是:
09:00、09:15、09:30、09:45、10:00,...,12:00,16:00,16:15,...,17:00。
请注意,即使可能存在重叠时间(如样本数据),可用时间段也不能重叠。
您认为最好的方法是什么?