Хранить дату и время UTC в базе данных - PullRequest
5 голосов
/ 27 сентября 2010

Я преобразую все введенные пользователем даты и времени в местное время в UTC и сохраню их в базе данныхПри обратном отображении я конвертирую время UTC в часовой пояс, который установлен в их профиле.Это хорошо?

Ответы [ 3 ]

3 голосов
/ 27 сентября 2010

Я думаю, что это достаточно хорошо.Помимо сохранения часового пояса пользователя в профиле, вы также можете позволить клиенту (например, javascript) преобразовывать время UTC в соответствии с часовым поясом компьютера пользователя.

1 голос
/ 27 сентября 2010

Обратите внимание на некоторую документацию MySQL в отношении часового пояса и работы сервера / клиента:

часовых поясов для каждого подключения.
Каждый подключающийся клиент имеет свой собственный часовой пояснастройка, заданная сессионной переменной time_zone.Первоначально переменная сеанса берет свое значение из глобальной переменной time_zone, но клиент может изменить свой собственный часовой пояс с помощью следующего оператора:
mysql> SET time_zone = timezone;

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

1 голос
/ 27 сентября 2010

Пока вы можете конвертировать в / из любого часового пояса из ваших сохраненных записей БД, это все, что вам нужно.

То, что вы описали, будет работать.

...