Мне нужна функция «открыта сейчас» 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"
Затем я могу работать, если он открыт или нет. Продукт, который я создаю, является глобальным, и мне нужно, чтобы «открыто сейчас» было связано с часовым поясом, в котором находится местоположение, а не местоположением сервера или местом просмотра.
Я уже сохраняю код страны и lat/lng местоположения в связанном db, поэтому мои мысли состоят в том, что я получаю часовой пояс от этого или предоставляю метод для пользователя, чтобы выбрать его, а затем изменить мой SQL как-то.
Я направляюсь в правильном направлении? Каким будет ваш метод?
Вы рассматривали 'AND NOW() между open_time AND close_time' – RiggsFolly
@RiggsFolly Да, но это будет только сравнивать часы с сервером, и мне нужно знать, открыто ли местоположение в их часовом поясе, а не в часовом поясе сервер находится в (местоположения по всему миру). Я чувствую, что мне нужно получить часовой пояс местоположения, сохранить его и настроить время моего сервера до проверки SQL. Просто не уверен, что это лучший метод. – Paul