如何将db DateTime字段转换为本地时间,并构造用于检索数据集的Q对象?
settings.py
LANGUAGE_CODE = 'en-us'
USER_TIME_ZONE = 'US/Pacific'
TIME_ZONE = 'UTC'
USE_TZ = Truemodels.py
class Hello(models.Model):
lucky_day = models.DateTimeField()一条db格式的记录(UTC格式)
2019-02-03 03:02:45filter.py
# Client browser is Pacific time without time, date only.
localtime_str = '2019-3-2'
qset_filter = Q(lucky_day<to Pacific time from UTC>=localtime_str)发布于 2019-04-12 15:01:06
如果您确实希望首先将utc日期时间字段转换为本地日期时间,然后根据localdatetime进行过滤,则可以使用django聚合来实现此目的:
YourModel.objects.annotate(new_local_datetime_field=convert_to_local_datetime('lucky_day')).filter(Q(new_local_datetime_field=some_other_datetime))将utc datetime转换为本地datetime的引用:Convert UTC datetime string to local datetime
引用django注解:https://docs.djangoproject.com/en/2.2/ref/models/querysets/#django.db.models.query.QuerySet.annotate
https://stackoverflow.com/questions/55643270
复制相似问题