不,没有。然而,您所做的并不是最好的方法,因为使用replace可能会导致一些奇怪的现象,从而节省日间照明。我建议使用
lower = received_date_timezone_aware.date()
.
这假设
Model.date
DateField
. 如果是日期时间,则执行以下操作:
from datetime import time, datetime
def min_datetime(date: datetime, tz):
"""Get the min datetime of the given datetime and timezone.
:return datetime: Minimum datetime of the given date.
"""
return tz.localize(
datetime.combine(date.astimezone(tz).date(), time.min))
def max_datetime(date: datetime, tz):
"""Get the max datetime of the given datetime and timezone.
:return datetime: Maximum datetime of the given date.
"""
return tz.localize(
datetime.combine(date.astimezone(tz).date(), time.max))
Model.objects.filter(date__range=(min_datetime(value, tz), max_datetime(value, tz)))