python django查詢一周,一月,一年時間


 

首先是當前時間的確定,對於年月日,orm模型都有對應的方法直接查詢,周是沒有方法直接查詢的,我是沒有找到這個方法,只能間接的查詢

 

1
2
3
now_time  =  datetime.datetime.now()    # 如果數據庫保存的是UTC時間,程序不會蹦但是會提示你這不是本地時間
 
now_time_utc  =   datetime.datetime.utcnow()

  

查詢本周產生的數據

1
2
3
4
5
6
# 當前天 顯示當前日期是本周第幾天
day_num  =  cur_time.isoweekday()
# 計算當前日期所在周一
monday  =  (cur_time  -  datetime.timedelta(days = day_num))
# 查詢一周內的數據
all_datas  =  YourModel.objects. filter (time__range = (now_time, monday))

  

查詢本月的數據

1
all_datas  =  YourModel.objects. filter (time__month = now_time.month)

  

查詢本年的數據

1
all_datas  =  YourModel.objects. filter (time__year = now_time.year)

1、gt:大於某個時間
now = datetime.datetime.now()
#前一天
start = now – datetime.timedelta(hours=23, minutes=59, seconds=59)
a=yourobject.objects .filter(youdatetimcolumn__gt=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) #明天


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM