【发布时间】:2015-07-21 20:42:59
【问题描述】:
我需要在我正在构建的网站上使用“现在打开”的 php 函数。看之前的question,已经建好我的mysql表了:
hours_id INT NOT NULL,
loc_id INT NOT NULL,
dow TINYINT NOT NULL,
open_time TIME NOT NULL,
close_time TIME NOT NULL,
然后使用:
"SELECT open_time, close_time
FROM opening_hours
WHERE dow=dayofweek(curdate())
AND loc_id=:loc_id"
然后我可以确定它是否打开。我正在构建的产品是全球性的,我需要将“立即打开”与位置所在的时区相关联,而不是服务器位置或查看器位置。
我已经将国家代码和位置的纬度/经度存储在相关数据库中,所以我的想法是从中获取时区,或者提供一种方法让用户选择一个,然后修改我的 SQL不知何故。
我是否朝着正确的方向前进?你的方法是什么?
【问题讨论】:
-
你考虑过
AND NOW() between open_time AND close_time -
@RiggsFolly 是的,但这只会将小时数与服务器时间进行比较,我需要知道某个位置是否在其时区开放,而不是服务器所在的时区(位置遍布世界)。我觉得我需要在检查 SQL 之前获取该位置的时区、存储它并调整我的服务器时间。只是不确定这是最好的方法。