gpt4 book ai didi

php - 在 mySQL 数据库中存储时间范围并与当前时间进行比较

转载 作者:行者123 更新时间:2023-11-29 04:28:54 24 4
gpt4 key购买 nike

我有一个数据库表,将商店的营业时间存储为 VARCHAR 类型的时间范围,例如“上午 9 点至下午 5 点”和“上午 9 点至下午 3 点,下午 5 点至晚上 11 点”。我想将这些营业时间与当前时间进行比较,所以如果当前时间是下午 2 点,我将使用 PHP 回显一条说明该商店现已营业的文本,如果当前时间是晚上 11.30,则显示该商店关闭。

  1. 如何将当前时间与表格中的营业时间时间范围进行比较
  2. 我存储时间范围的方法是否合适?

我正在使用 Codeigniter,所以如果有有用的功能也请告诉我!

最佳答案

您应该使用 2 列(一列用于打开时间,一列用于关闭时间)均使用 TIME 数据类型:http://dev.mysql.com/doc/refman/5.1/en/time.html

这样,您就可以使用 BETWEENNOW():SELECT * FROM shop WHERE CAST(NOW() AS TIME) BETWEEN open_time AND关闭时间;

编辑以包含表定义:

CREATE TABLE shop_hours (
shop_id INT UNSIGNED NOT NULL,
day_of_week INT UNSIGNED NOT NULL, -- 0-6
open_time TIME NOT NULL,
close_time TIME NOT NULL,
PRIMARY KEY(shop_id, day_of_week, open_time, close_time)
);

关于php - 在 mySQL 数据库中存储时间范围并与当前时间进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6063562/

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