Я запутался в том, что мне нужно перепроверить это со всеми вами. Извините, если это действительно глупый вопрос ..
Хорошо - у меня есть веб-приложение PHP, работающее на Linux, которое должно поддерживать часовые пояса. Я предоставляю виджет календаря, который позволяет пользователю установить часовой пояс, а затем выбрать дату и часы / минуты для какого-либо события.
Затем я сохраняю это значение в записи как int, используя. Когда мне нужно снова показать дату пользователю, я просто получаю настройку часового пояса и применяю значение int.
Код:
$dtzone = new DateTimeZone($time_zone);
$dtime = new DateTime($date_time, $dtzone);
$timestamp = $dtime->format('U');
return $timestamp;
Примечания:
$ date_time имеет следующий формат: «ГГГГ-ММ-ДД Ч: С»
$ time_zone - это то, что они выбрали, например: Америка / Ямайка
Теперь я храню возвращенный int в базе данных.
Затем у меня есть PHP-скрипт, который я выполняю через CRON, который выполняется на сервере в Сиднее - Австралия.
Насколько я понимаю, все, что нужно моему сценарию, - это получить текущую метку времени сервера через time (), а затем выполнить поиск в базе данных любых целых чисел с точно таким же целым числом, полученным вызовом time (). Мне не нужно беспокоиться о том, в каком часовом поясе пользователь выбрал дату / время.
Обратите внимание, что CRON должен запускаться каждую минуту, так как я позволил пользователю также выбирать минуты.
Это предположение верно?
Приветствия
Марк