加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 确定商店是否开放?

发布时间:2020-12-13 17:57:48 所属栏目:PHP教程 来源:网络整理
导读:在 PHP和MySQL中 – 如何确定Store是打开还是关闭(返回true或false)? 如果商店关闭,如何获得下一个营业时间? Opening_Hours表的示例: +----+---------+----------+-----------+------------+---------+| id | shop_id | week_day | open_hour | close_hou
在 PHP和MySQL中 – 如何确定Store是打开还是关闭(返回true或false)?

如果商店关闭,如何获得下一个营业时间?

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开放’
>当前时间:星期二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开放’

在过去,我通过使用没有日期的时间戳(午夜后的秒数)处理了这个问题.所以周六,开盘价为62100,收盘价为91800.

我的想法是,当一个关闭跨越午夜时,这将删除所需的一些逻辑,因为您只需要比较从日期开始以来的秒数到时间范围.

并且很容易检查它是否仍然从’昨天’打开 – 只需将86400添加到当前’时间'(自当天开始以来的秒数)并检查前一天.

可能都是单个SQL语句.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读