2017-02-23 2 views

ответ

0

Вы можете выполнить следующие шаги для отправки уведомлений по часовому поясу пользователя.

  1. Создать Cronjob (Установить интервал согласно вашему требованию)
  2. Теперь выборки всех пользователей записей.
  3. Получить часовой пояс каждого пользователя.
  4. Теперь конвертируйте ваше время и время в часовой пояс пользователя.
  5. Сопоставьте свое текущее время с часовым поясом пользователя
  6. Если время соответствует в соответствии с часовым поясом пользователя, отправьте уведомление только этому пользователю.

Обновлен,, например, пользователь имеет часовой пояс GMT +530 и вы сервер часового пояс GMT 0, то если вы получаете запись пользователя, чье уведомление времени 4:30 ПМ и в то же время вашего сервера время будет до 11:00. Теперь cronjob запускается в 11:00, в соответствии с этим часовым поясом пользователя вам нужно добавить 5:30 часов в текущее время, так что 11:00 + 5:30 = 16:30 (будьте осторожны с датой тоже), это время вашего пользователя, и в этом случае вы можете отправить ему уведомление.

И если вы не хотите устанавливать cron для каждой минуты, вы можете установить предельные минуты для проверки. Предположим, что ваш cron работает каждые 10 минут, тогда вам нужно проверить состояние, например, converted_time >= 4:20 and converted_time < 4:30. (Помните, что здесь и <)

+0

нормально, но как мы можем узнать точное время пользовательского часового пояса, например 9:30, я не хочу запускать cronjob каждый мин. –

+0

См. Мой обновленный ответ. –

Смежные вопросы