前言
最近接触过一些按照日期筛选查询数据的案例,看到过一篇博客,总结了一些后端时间筛选的方法,这里本人也总结记录一下,以备不时之需。简单应用请参考这篇博客----->传送门
与单个时间进行比较筛选
start的取值按照不同的筛选条件改变
- start = datetime.timedelta(hours=23,minutes=59,seconds=59)
- # datetime.timedelta是计算时间差之前的日期,即距离现在23小时59分钟59秒的时间,即一天前
-
- # 查询今天一天之内的数据
- models.CountDownSign.objects.filter(date_time_field__gt=start)
- # 查询今天一天之内的数据 包括当前那一刻
- models.CountDownSign.objects.filter(date_time_field__gte=start)
-
- start = datetime.datetime.now()
- # 查询之前的数据
- models.CountDownSign.objects.filter(date_time_field__lt=start)
- # 查询之前的数据包括当前这一刻
- models.CountDownSign.objects.filter(date_time_field__lte=start)
一个时间段内的筛选
- # 筛选日期在此时间段的数据
- obj = models.CountDownSign.objects.filter(date__range=(start, end))
按照周,年等筛选
- # 按照周几查询
- obj = models.CountDownSign.objects.filter(date__week_day=week_day)
- # 按照年份查询
- obj = models.CountDownSign.objects.filter(date__year=year)
- # 按照月份查询
- obj = models.CountDownSign.objects.filter(date__month=month)
- # 按照某天查询
- obj = models.CountDownSign.objects.filter(date__day=day)
总结
到此这篇关于Django后端按照日期查询的文章就介绍到这了,更多相关Django按日期查询内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!