Преобразование Python UTC Datetime в локальный часовой пояс перед выполнением фильтра django __date

Я пытаюсь преобразовать дату utc в локальный часовой пояс для фильтрации совпадающих дат.

Если я передал дату, например 2022-05-26, и хочу найти все записи с временем в этот день, то время, такое как '2022-05-27T22:00:00.000z', будет исключено... даже если это время будет 2022-05-26 в местном часовом поясе.

Ранее я осуществлял фильтрацию с помощью

queryset = Event.objects.filter(time__date=time)

и пытаюсь сделать что-то вроде:

queryset = Event.objects.filter(time.replace(tzinfo=timezone.utc).astimezone(tz=None)__date=time)

как бы то ни было, это неверный синтаксис, но, надеюсь, вы поняли суть... Спасибо!

Вам необходимо добавить следующие строки в настройки:

USE_TZ = True
TIME_ZONE = 'DESIRED/TIMEZONE'

При выполнении любых действий с данными (фильтрация, получение...) данные будут находиться в желаемом часовом поясе.

Вернуться на верх