Фиксированное (MySQL) время, преобразованное в время клиента - PullRequest
1 голос
/ 23 февраля 2012

У меня есть список раз на странице php, полученной из базы данных sql.

Все, что я хотел бы сделать, - это изменить время в соответствии со смещением между временем клиента и серверанезависимо от того, где находится клиент в мире.

Таким образом, положение клиента в мире будет влиять на то, сколько раз он видит.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2012
  1. Используйте модуль Geo IP, чтобы идентифицировать часовой пояс вашего клиента по его IP ( geoip_record_by_name () затем geoip_time_zone_by_country_and_region () ).
  2. Используйте date_default_timezone_set () , чтобы установить часовой пояс вашего скрипта PHP. Это заставит функции даты переводиться в правильный часовой пояс, но вам нужно получить дату как UNIX TIMESTAMP для MySQL (это легко сделать с помощью SELECT UNIX_TIMESTAMP(date) FROM table).
  3. При желании вы можете взглянуть на тип MySQL TIMESTAMP и сказать ему выполнить преобразование на лету (выполните SET time_zone = [timezone] перед запросом). Это требует некоторой настройки сервера.
0 голосов
/ 23 февраля 2012

Если вы хотите отображать время в часовом поясе пользователя, вам нужно знать, в каком часовом поясе он находится. Например, с помощью параметра / предпочтений, которые он устанавливает.

Это время часто называют «местным»time ".

Тогда вам нужно знать, в каком часовом поясе вы сохранили значения в базе данных.Часто для этого выбирается UTC, которое затем называется «время зулуса».

При извлечении времени из базы данных (зулу) вы конвертируете часовой пояс в соответствии с предпочтениями пользователя (локальными).И это все.

См. Также

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