Django中条件过滤:按时间筛选

时间:2021-7-21 作者:qvyue

你有没有遇到过,需要按时间筛选的问题?

我在models中的字段为dateTimeField,那么我该如何构造一个时间格式来和它比较呢?

索性我们有datetime模块

Django中条件过滤:按时间筛选
复制代码
import datetime

now = datetime.datetime.now() #获取现在的时间
start = datetime.timedelta(hours=23,minutes=59,seconds=59) #获取当前时间中的一天内的开始时间

查询一天内的数据

model.objects.filter(date_time_field__gt=start)

import datetime

now = datetime.datetime.now()  #获取现在的时间

start = datetime.timedelta(hours=23,minutes=59,seconds=59)   #获取当前时间中的一天内的开始时间

#查询一天内的数据
model.objects.filter(date_time_field__gt=start)

其实这就没了,也就这么多的东西,哦,还有一些:

  • gt====大于
  • gte===大于等于
  • lt=====小于
  • lte====小于等于

那如果要查一个时间段呢?

我们用 __range

start = datetime.date(2018,7,12)
end = datetime.date(2018,7,13)

model.objects.filter(date_time_filed__range=(start,end))

查询某年 __year

查询某月 __month

查询某天 __day

查询星期几__week__day

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。