python django查詢一週,一月,一年

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

now_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時間查詢

# 一、gt:大於某個時間
now = datetime.datetime.now()
#前一天
start = now – datetime.timedelta(hours=23, minutes=59, seconds=59)
a=yourobject.objects .filter(youdatetimcolumngt=start)**

# 二、gte:大於等於某個時間:
a=yourobject.objects .filter(youdatetimcolumn__gte=start)

# 三、lt:小於
a=yourobject.objects .filter(youdatetimcolumn__lt=start)

# 四、lte:小於等於
a=yourobject.objects .filter(youdatetimcolumn__lte=start)

# 五、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))

# 六、year:查詢某年
Entry.objects.filter(pub_date__year=2005)

# 七、month:查詢某月
Entry.objects.filter(pub_date__month=12)

# 八、day:某天
Entry.objects.filter(pub_date__day=3)

# 九、week_day:星期幾
Entry.objects.filter(pub_date__week_day=2)

# 十、獲取今天的日期,日期格式爲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) # 明天
相關文章
相關標籤/搜索