В settings.py
у меня есть:Django, кажется, отображая DateTimes в формате UTC
TIME_ZONE = 'Asia/Singapore'
USE_I18N = True
USE_L10N = True
USE_TZ = True
Если пользователь (кто живет в Сингапуре) входит 2013-10-07 01:00 A.M.
форму на моем сайте, значение, хранящееся в моей (PostgreSQL) - 2013-10-07 01:00:00+08
. Когда я вытягиваю эту информацию во время сеанса python manage.py shell
, я получаю 2013-10-06 17:00:00+00:00
. То же самое происходит, когда я пытаюсь отобразить эту информацию в шаблоне.
Что я думаю: Django признает, что пользователь вводит 1:00 A.M. 10 октября, время в Сингапуре, и сохраняет это в базе данных как 2013-10-07 01:00:00+08
. Однако, когда Django извлекает эту информацию из базы данных, она форматирует ее по времени UTC, тем самым давая 2013-10-06 17:00:00+00:00
.
Есть ли у меня это право? И если да, то что я могу сделать для отображения времени отображения Django с использованием той же информации о часовом поясе, которая хранится в базе данных (или, по крайней мере, с использованием моей настройки TIME_ZONE
)? Другими словами, как я могу сделать это так, чтобы пользователь видел дату и время в той же форме, что и она?
Спасибо за ответ; Кажется, я понял это. См. Мой ответ на мой вопрос. – GChorn