Хранения дат и часовые пояса

260
26 апреля 2018, 09:22

У меня в базе данных храниться дата добавления какого-либо объекта,причем,храниться она в формате UNIX. Пользователь видит дату в формате (День-месяц-год), тоесть без времени. В моем проекте правильная и корректная дата очень важна.
Но есть одна проблема. Например один пользователь добавил дату 22/04/2018 00:00 (GMT). Допустим,пользователь скажем с Украины запросил эту дату(22/04/2018 00:00 ). Всё хорошо, но его запрос тоже нужно перевести в GMT. И выходит, что в sql запрос пойдёт дата (21/04/2018 21:00). Повторюсь, все операции с датами происходят через их перевод в unix время.
В конечном счете пользователь с Украины не увидит объекта з запрашиваемой датой,хотя, он ёё запросил.
Я уже потерял всякое понимание, как эти даты переводить и как работать с часовыми поясами.

Answer 1

Пользователи добавляют данные в БД не с помощью прямого подключения к БД, а скорее всего через сайт, верно? То есть скрипт добавления/извлечения данных работает с одним и тем же часовым поясом (который на сервере, а не на часах посетителя), расхождений быть не должно. Ну и при добавлении/извлечении есть способы указывать часовой пояс – используйте в скриптах всегда один и все будет нормально.

READ ALSO
Передача данных методом POST через header

Передача данных методом POST через header

Делаю редирект на страничку:

256
Laravel правильная выборка данных

Laravel правильная выборка данных

Всем привет! Есть не разрешенный по LARAVEL, а конкретно выборка данных из БД, уже 2 дня над этой проблемой бьюсь=((( Как выбрать из БД данные за текущий...

230
Ошибка “Warning: preg_match(): Compilation failed: nothing to repeat at offset 0 ”

Ошибка “Warning: preg_match(): Compilation failed: nothing to repeat at offset 0 ”

Прошу помощи с регулярными выражениямиРешаю квест по PHP и столкнулся с такой проблемой

223
BindParam в цикле foreach

BindParam в цикле foreach

В массиве $param передаются значения 0 или 1В массиве $array, ключ маски и значение

264