你有没有遇到过,需要按时间筛选的问题?
我在models中的字段为dateTimeField,那么我该如何构造一个时间格式来和它比较呢?
索性我们有datetime模块
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; white-space: pre-wrap; font-family: "Courier New" !important; font-size: 12px !important;">import datetime
now = datetime.datetime.now() #获取现在的时间
start = datetime.timedelta(hours=23,minutes=59,seconds=59) #获取当前时间中的一天内的开始时间
查询一天内的数据
model.objects.filter(date_time_field__gt=start)</pre>
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