#python #django
#python #django
Вопрос:
Это кажется чрезвычайно простым, но я не могу найти простого объяснения: как я могу передать часовой пояс UTC здесь? Я хочу передать GMT / UTC конкретно.
from django.utils import timezone
timezone.make_aware(datetime.fromtimestamp(sometimestamp), timezone=???)
Ответ №1:
Начиная с Python 3.4, объект UTC находится в стандартной библиотеке как datetime.timezone.utc
; вам не нужны какие-либо функции, специфичные для django:
import datetime
sometimestamp = 1598992554
datetime.datetime.fromtimestamp(sometimestamp, tz=datetime.timezone.utc)
До Python 3.4 большинство проектов использовали pytz с its pytz.utc
.
Ответ №2:
Согласно:https://docs.djangoproject.com/en/3.1/topics/i18n/timezones/#selecting-the-current-time-zone
Выбор часового пояса используется pytz
модулем и его также можно увидеть в официальных документах:
https://docs.djangoproject.com/en/3.1/ref/utils/#django.utils.timezone.make_aware
Следовательно, получить часовой пояс по:
import pytz
tz = pytz.timezone('<string>')
Список часовых поясов можно подтвердить с помощью:https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
А затем использовать его в make_aware
методе