脚本宝典收集整理的这篇文章主要介绍了php – 确定商店是否开放?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
opening_Hours表的示例:
+----+---------+----------+-----------+------------+---------+ | id | shop_id | week_day | oPEn_hour | close_hour | enabled | +----+---------+----------+-----------+------------+---------+ | 1 | 1 | 1 | 16:30:00 | 23:30:00 | 1 | | 2 | 1 | 2 | 16:30:00 | 23:30:00 | 1 | | 3 | 1 | 3 | 16:30:00 | 23:30:00 | 0 | | 4 | 1 | 4 | 16:30:00 | 23:30:00 | 1 | | 5 | 1 | 5 | 10:00:00 | 13:00:00 | 1 | | 6 | 1 | 5 | 17:15:00 | 00:30:00 | 1 | | 7 | 1 | 6 | 17:15:00 | 01:30:00 | 1 | | 8 | 1 | 7 | 16:30:00 | 23:30:00 | 0 | +----+---------+----------+-----------+------------+---------+
open_hour和close_hour是TIME类型字段.表设计好吗?
当前时间示例:
>当前时间:周二23:00,– 输出:打开,’周二16:30 – 23:30开放’@H_406_12@>当前时间:星期二23:40,– 输出:关闭,’星期六16:30 – 23:30开放’
星期四开放,因为opening_Hours.week_day = 3被禁用
现在如何处理午夜时间?这变得更复杂.
如您所见,星期六(opening_Hours.week_day = 5),开放时间为下午17:15至01:30(第二天星期日休息)
如果当前时间是周日凌晨01:15,那么商店仍然会在opening_Hours.week_day = 5的基础上开放.
输出:打开,’周六17:15 – 01:30开放’
我的想法是,当一个关闭跨越午夜时,这将删除所需的一些逻辑,因为您只需要比较从日期开始以来的秒数到时间范围.
并且很容易检查它是否仍然从’昨天’打开 – 只需将86400添加到当前’时间'(自当天开始以来的秒数)并检查前一天.
可能都是单个sql语句.
以上是脚本宝典为你收集整理的php – 确定商店是否开放?全部内容,希望文章能够帮你解决php – 确定商店是否开放?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。