Часовые пояса для различных пользователей

Я создаю сценарий, который позволяет пользователю выбирать их собственный часовой пояс...

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

Я храню дату как GMT и затем когда пользователь с часовым поясом GMT +10 выбранных представлений объект в рамках моего сценария, я показываю что дата в GMT в +10 раз?

Существует ли лучший способ сделать это?

Примеры были бы яркими :)

7
задан Ben Sinclair 24 March 2010 в 23:39
поделиться

3 ответа

Сохранение часовых поясов в UTC в базе данных определенно лучший способ.

4
ответ дан 7 December 2019 в 09:59
поделиться

В MYSQL поля отметок времени всегда сохраняются внутри в формате UTC, но запросы будут возвращать отформатированные строки на основе часового пояса вашего сервера базы данных, поэтому ваш сервер базы данных должен вероятно, будет установлено значение UTC для упрощения. Передайте этот материал прямо в объект DateTime, затем вы можете использовать его функцию setTimezone () , чтобы заставить его работать в нужном вам часовом поясе.

Вы также можете использовать date_default_timezone_set () , чтобы установить часовой пояс в php, который будет использоваться для оставшейся части вашего скрипта.

1
ответ дан 7 December 2019 в 09:59
поделиться

UTC - как вы это делаете

Получите текущую дату из своего браузера (используйте Javascript и отправьте дату браузера на сервер), чтобы выяснить, что часовой пояс, в котором они находятся, и установите его по умолчанию

1
ответ дан 7 December 2019 в 09:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: