Как установить напоминание в соответствии с часовым поясом пользователя и отправить уведомление в соответствии с ним? - PullRequest
0 голосов
/ 08 июня 2019

Мне нужна логика для процесса уведомления.В моем предыдущем проекте я успешно сделал функциональность уведомления.Но проблема в том, что он отправляет уведомления в соответствии с часовым поясом сервера.

Предположим, что:

  1. Пользователь хочет получить уведомление до 1 часа своего фактического события (любого события).

  2. ЭтоПользователь находится в Индии и делает уведомление в соответствии с индийским временем.время уведомления 15:00.

  3. Теперь сервер запуска проблемы работает в США, и время сервера соответствует времени уведомления, если соответствующее уведомление будет отправлено пользователю.

Но не в соответствии с часовым поясом Индии, это происходит в зависимости от часового пояса сервера, который работает в США.

Это займет текущий часовой пояс США и дату и время, сохраненные в базе данных.

Задание cron устанавливается для каждой минуты.Фактический результат.

Это уведомление отправляется в соответствии с часовым поясом пользователя, как будто пользователь из Индии, США, Канады и откуда угодно.Но уведомление должно быть отправлено в соответствии с часовым поясом пользователя.

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

Кто-нибудь может мне помочь с этой проблемой?

1 Ответ

0 голосов
/ 08 июня 2019

Настройте приложение на использование UTC.

При сохранении значений даты и времени всегда сохраняйте его как часовой пояс UTC независимо от часового пояса вашего пользователя.

Затем используйте часовой пояс пользователя для преобразования из UTC при отображении его на своем веб-сайте.

Для уведомления, учитывая значение даты и времени от пользователя, которое соответствует его часовому поясу, преобразуйте его в UTC изатем сохраните это в базе данных.Таким образом, все значения даты и времени, хранящиеся в базе данных, всегда указаны в формате UTC.

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

...