Часовые пояса для разных пользователей
Я создаю скрипт, который позволяет пользователю выбрать свой часовой пояс...
Если я должен сделать эту работу, как я могу хранить даты в базе данных, чтобы каждый часовой пояс читал его и показывал правильную дату в своем часовом поясе?
Я храню дату как GMT, а затем, когда пользователь с выбранным часовым поясом GMT +10 просматривает элемент в моем скрипте, я показываю эту дату в GMT +10 раз?
есть ли лучший способ сделать это?
примеры было бы здорово :)
3 ответов
UTC, как вы это делаете
получите текущую дату из своего браузера (используйте Javascript и опубликуйте дату браузеров на сервере), чтобы определить, в каком часовом поясе они находятся, и установить его по умолчанию
в MYSQL поля метки времени всегда сохраняются внутри UTC, но запросы будут возвращать форматированные строки на основе часового пояса вашего сервера базы данных, поэтому ваш сервер БД, вероятно, должен быть установлен в UTC для упрощения вещей. Передайте этот материал прямо в объект DateTime, затем вы можете использовать его setTimezone()
функция, чтобы заставить его работать в часовом поясе, который вы хотите.
вы также можете использовать для меня() установить часовой пояс в php, который будет использоваться для остаток сценария.