Как получить даты для отображения, используя мои настройки TIME_ZONE - PullRequest
1 голос
/ 10 апреля 2019

Я использую Django и Python 3.7.У меня есть следующий набор в моем файле настроек ...

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'America/Chicago'

USE_I18N = True

USE_L10N = True

USE_TZ = True

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

self.created_on.ctime()

, в которых «create_on» отображается в поле PostGres DATETIME, дата распечатывается с использованием часового пояса UTC.Как я могу заставить это отображаться, используя часовой пояс, который я имею?

Ответы [ 2 ]

1 голос
/ 10 апреля 2019

TIME_ZONE - параметр сеанса. Узнайте больше здесь и здесь

from datetime import datetime
from pytz import timezone
self.created_on.astimezone(timezone('America/Chicago'))
0 голосов
/ 10 апреля 2019

похоже, что вы можете использовать django.utils.timezone.localtime

from django.utils.timezone import localtime

localtime(self.created_on).ctime()
...