Как изменить время сервера django
Я хочу сохранить текущую дату в базе данных, но мой сервер Django начинается на 13 часов раньше, чем в настоящее время. Из-за этого время также меняется, когда я использую следующее:
datetime.datetime.now()
Я использую Python 2.7.5 с Django 1.5.4.
Как я могу отобразить текущую системную дату с помощью django
..?
2 ответов
Если дата и время вашего сервера неверны, попробуйте сначала исправить это. Если они верны, вы можете добавить значение часового пояса в свой settings.py
:
USE_TZ = True
TIME_ZONE = 'UTC'
проверить http://en.wikipedia.org/wiki/List_of_tz_database_time_zones для списка допустимых часовых поясов.
есть несколько вариантов:
на settings.py
:
как прокомментировал один пользователь, вы технически can set TIME_ZONE = None
, и это будет по умолчанию для вашего физического времени компьютера, это будет реальная проблема при попытке развернуть сервер или загрузить проект на удаленную машину, чтобы обслуживать его для вас. Например, если вы развернули проект на сервере amazon с помощью TIME_ZONE = None
, вы можете в конечном итоге получить системное время физического компьютера, на котором сервер.
вместо этого вы должны выбрать действительный tz
базы данных. Если вы посмотрите в TZ
колонки на следующей странице: ТЗ база данных часовых поясов вы можете использовать любое из этих значений.
Примечание: ручная установка сингулярного tz
часовой пояс базы данных может быть ограничен, если ваши пользователи подключаются из часовых поясов, отличных от Ваших (в разных частях страны или мира), или в часовых поясах за пределами того, что вы вручную установили.
в этом случае, вы либо должны (1) иметь пользователей, регистрирующих их часовой пояс, и изменить свой код, либо (2) импортировать django.utils часовой пояс, смотрите эту страницу:документация модуля часового пояса django. Другой вариант - (3) построить геолокатор, который автоматически захватывает широту и долготу ваших пользователей при загрузке страницы и генерирует часовой пояс на основе этой информации. Обратите внимание, что настройка часового пояса для пользователей после развертывания приложения является более сложным процессом чем установка часового пояса для вашего местного здания и тестирования.
*//ответ отредактирован, чтобы отразить более целостный ответ.