首先是當前時間的確定,對於年月日,orm模型都有對應的方法直接查詢,周是沒有方法直接查詢的,我是沒有找到這個方法,只能間接的查詢
cur_time= datetime.datetime.now() # 如果數據庫保存的是UTC時間,程序不會蹦但是會提示你這不是本地時間
now_time_utc = datetime.datetime.utcnow()
查詢本周產生的數據
# 當前天 顯示當前日期是本周第幾天 day_num = cur_time.isoweekday() # 計算當前日期所在周一 monday = (cur_time - datetime.timedelta(days=day_num)) # 查詢一周內的數據 all_datas = YourModel.objects.filter(time__range=(now_time, monday))
查詢本月的數據
all_datas = YourModel.objects.filter(time__month=now_time.month)
查詢本年的數據
all_datas = YourModel.objects.filter(timeyear=now_time.year)
Django時間查詢
# 1、gt:大於某個時間 now = datetime.datetime.now() #前一天 start = now – datetime.timedelta(hours=23, minutes=59, seconds=59) a=yourobject.objects .filter(youdatetimcolumngt=start)** # 2、gte:大於等於某個時間: a=yourobject.objects .filter(youdatetimcolumn__gte=start) # 3、lt:小於 a=yourobject.objects .filter(youdatetimcolumn__lt=start) # 4、lte:小於等於 a=yourobject.objects .filter(youdatetimcolumn__lte=start) # 5、range:查詢時間段 start_date = datetime.date(2005, 1, 1) end_date = datetime.date(2005, 3, 31) Entry.objects.filter(pub_date__range=(start_date, end_date)) # 6、year:查詢某年 Entry.objects.filter(pub_date__year=2005) # 7、month:查詢某月 Entry.objects.filter(pub_date__month=12) # 8、day:某天 Entry.objects.filter(pub_date__day=3) # 9、week_day:星期幾 Entry.objects.filter(pub_date__week_day=2) # 10、獲取今天的日期,日期格式為yyyy-MM-dd from django.utils.timezone import now, timedelta date = now().date() + timedelta(days=-1) # 昨天 date = now().date() + timedelta(days=0) # 今天 date = now().date() + timedelta(days=1) # 明天