【发布时间】:2012-03-03 12:38:10
【问题描述】:
在 PHP 和 MySQL 中——如何判断 Store 是 Open 还是 Close(返回 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,-输出:打开,'Open at Tue 16:30 - 23:30'
-
当前时间:星期二 23:40,-输出:关闭,'Open at Thu 16:30 - 23:30'
周四开放,因为 Opening_Hours.week_day = 3 已停用
现在如何处理午夜时间?这变得更复杂了。
如您所见,周六 (Opening_Hours.week_day = 5) 营业时间为下午 17:15 至 01:30(次日周日关闭)
如果当前时间是周日上午 1 点 15 分,那么商店仍然会在Opening_Hours.week_day = 5 营业。
输出:打开,“周六 17:15 - 01:30 打开”
【问题讨论】:
-
请不要一次发布多个问题。把你的问题分解成更小的部分并询问细节。这看起来像家庭作业,在这里不受欢迎......
-
@JanHančič 这不是一次多个问题。我的问题是如何找出商店是开着还是关着。其次,这不是家庭作业。
-
对我来说这看起来像是家庭作业,但如果你说不是,那么我相信你:)
标签: php mysql database-design strtotime