Ответ 1
Непонятно, пытаетесь ли вы в конечном итоге получить объект date
или объект datetime
, поскольку в Python нет понятия "дата с учетом часового пояса".
Чтобы получить объект date
соответствующий текущему времени в текущем часовом поясе, вы должны использовать:
# All versions of Django
from django.utils.timezone import localtime, now
localtime(now()).date()
# Django 1.11 and higher
from django.utils.timezone import localdate
localdate()
То есть: вы получаете текущую datetime
в UTC; вы конвертируете его в локальный часовой пояс (т.е. TIME_ZONE
); а затем взять дату от этого.
Если вы хотите получить объект datetime
соответствующий 00:00:00 текущей даты в текущем часовом поясе, вы должны использовать:
# All versions of Django
localtime(now()).replace(hour=0, minute=0, second=0, microsecond=0)
# Django 1.11 and higher
localtime().replace(hour=0, minute=0, second=0, microsecond=0)
Исходя из этого и вашего другого вопроса, я думаю, что вы запутались в пакете Delorean. Я предлагаю придерживаться функциональности Django и Python datetime.