Отображение меток времени MySQL по местному времени - PullRequest
3 голосов
/ 06 ноября 2011

У меня есть база данных MySQL с большим количеством данных, хранящихся с метками времени в формате UTC.

Когда пользователь запрашивает эту базу данных, я хочу, чтобы он мог просматривать данные, но в своем местном часовом поясе.

Я бы предпочел не вычислять смещение каждый раз и не менять метку времени с помощью PHP-кода. Есть ли другой способ?

Ответы [ 3 ]

2 голосов
/ 06 ноября 2011

Вы можете использовать функцию localtime(), чтобы получить местное время и найти соответствующие записи из базы данных.

1 голос
/ 06 ноября 2011

Можно установить часовой пояс для каждого соединения с помощью mysql следующим образом:

SET time_zone = 'America/Los_Angeles';

или

SET time_zone = '-8:00';

Но для меня лучшим решением будет localtime();

0 голосов
/ 07 ноября 2011

Там, где я работаю, мы поддерживаем клиентов по всему миру, и стало проще даже установить системное время сервера на UTC.Это позволяет нам обеспечить согласованное ведение журнала и временные метки базового сервиса, и если нам нужно добавить серверы в пул в другом часовом поясе, нам не нужно беспокоиться о том, правильно ли установлено местное время (т.к. это уже UTC).

Однако, как упоминалось в ОП, существует определенная стоимость, и наше приложение должно рассчитать часовые пояса.Мы назначаем часовой пояс нашим клиентам, и пользователь, входящий на сайт клиента, получает часовой пояс клиента, поэтому мы должны каждый раз вычислять дату / время для представления.Мы время от времени профилируем наши приложения, и эти преобразования часовых поясов едва регистрируются.

В конце концов, это действительно зависит от вас и вашей ситуации при преобразовании часовых поясов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...