python django查詢一周內的數據,一月內的數據,一年內的數據


首先是當前時間的確定,對於年月日,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) # 明天


免責聲明!

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



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