gpt4 book ai didi

php - 确定商店是否营业?

转载 作者:可可西里 更新时间:2023-11-01 06:37:56 26 4
gpt4 key购买 nike

在 PHP 和 MySQL 中 - 如何确定商店是打开还是关闭(返回 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_hourclose_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 语句。

关于php - 确定商店是否营业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9546206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com