Синхронизация времени события

185
17 сентября 2018, 12:20

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

Answer 1

Для начала вам требуется узнать у пользователя его часовой пояс. Для этого есть 3 способа:

  1. Определить по IP. Самый плохой способ, поскольку не всегда по IP можно определить даже страну, не говоря уже о городе. Вдобавок, нужно будет держать информацию о часовом поясе для каждого города мира.
  2. Попросить пользователя указать свой часовой пояс. Самый частоиспользуемый способ. Как правило, часовой пояс запрашивают при регистрации пользователя на сайте. А зная часовой пояс пользователя, можно без проблем узнать смещение относительно базового времени сервера.
  3. Узнать через JavaScript. Самый оригинальный способ. В данном способе надо, используя объект Date, отправить на сервер информацию о текущем часе пользователя. Далее на сервере надо посчитать разницу между текущим часом базового времени на сервере и тем часом, что пришёл от пользователя. Далее сохранить в cookie или сессию это смещение. Вот и всё.

Пример:

  $user_timezone = 'Полученный от пользователя часовой пояс';
  date_default_timezone_set($user_timezone); // Часовой пояс по умолчанию.
  echo date(); // Любое время будет выведено относительно настроенного часового пояса
READ ALSO
Почему json_decode на данном объекте может не работать?

Почему json_decode на данном объекте может не работать?

Ниже представлен HTTP-запросМне нужно извлечь из него данные - массив с ключами cells и distance

187
Создание асинхронных задач

Создание асинхронных задач

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

187
Установка drush 8.*

Установка drush 8.*

Пытаюсь установить drush глобальноПосле команды: Получаю сообщение следующего содержания: После этого ничего не происходит, подскажите...

168
Вопрос на счёт функций

Вопрос на счёт функций

Хочу написать скрипт, который будет работать с базой данныхНо у меня возникли проблемы с реализацией функций

187