国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Django中日期時間型字段進行年月日時分秒分組統計

瀏覽:90日期:2024-09-17 10:41:04

1.數據結構說明:

數據結構如下:modification字段為修改數據時間字段,格式為 年,月,日,時,分,秒。案例場景為,根據modification字段,統計每個統計粒子,產生數據的條數。如需要統計2020年10月29日 每個小時段產生數據的條數。

Django中日期時間型字段進行年月日時分秒分組統計

要進行這種統計需要用到 Django的connection庫。統計年月日粒子用 date_trunc_sql,統計時分秒用 datetime_extract_sql

2.進行年月日粒子的統計

2.1 官方 date_trunc_sql 原型

def datetime_trunc_sql(self, lookup_type, field_name, tzname): ''' Given a lookup_type of ’year’, ’month’, ’day’, ’hour’, ’minute’, or ’second’, return the SQL that truncates the given datetime field field_name to a datetime object with only the given specificity. ''' raise NotImplementedError(’subclasses of BaseDatabaseOperations may require a datetime_trunc_sql() method’)

解釋說明下:

函數需要傳入三個參數:

lookup_type:統計粒子(year->年,月->month,day->日,hour->時,minute->分,second->秒) field_name:統計字段的名次 tzname:時區,在中國一般用的是東8區,傳入8即可

2.2 年

from django.db import connectionfrom django.db.models import Count# ’year’, ’month’, ’day’, ’hour’, ’minute’, ’second’select = {’year’: connection.ops.datetime_trunc_sql(’year’, ’establish’, 8)}result = models.FocusOnRecord.objects.extra(select=select).values(’year’).annotate(number=Count(’id’)).order_by('year')[0:9]for key in result: print(key)>>{’year’: datetime.datetime(2019, 1, 1, 0, 0), ’number’: 2168}>>{’year’: datetime.datetime(2020, 1, 1, 0, 0), ’number’: 9369}

2.3 月

from django.db import connectionfrom django.db.models import Count# ’year’, ’month’, ’day’, ’hour’, ’minute’, ’second’select = {’month’: connection.ops.datetime_trunc_sql(’month’, ’establish’, 8)}result = models.FocusOnRecord.objects.extra(select=select).values(’month’).annotate(number=Count(’id’)).order_by('month')[0:9]for key in result: print(key) >>{’month’: datetime.datetime(2019, 6, 1, 0, 0), ’number’: 8}>>{’month’: datetime.datetime(2019, 7, 1, 0, 0), ’number’: 51}>>{’month’: datetime.datetime(2019, 8, 1, 0, 0), ’number’: 118}>>{’month’: datetime.datetime(2019, 9, 1, 0, 0), ’number’: 7}>>{’month’: datetime.datetime(2019, 10, 1, 0, 0), ’number’: 731}>>{’month’: datetime.datetime(2019, 11, 1, 0, 0), ’number’: 514}>>{’month’: datetime.datetime(2019, 12, 1, 0, 0), ’number’: 739}>>{’month’: datetime.datetime(2020, 1, 1, 0, 0), ’number’: 483}>>{’month’: datetime.datetime(2020, 2, 1, 0, 0), ’number’: 921}

2.4 日

from django.db import connectionfrom django.db.models import Count# ’year’, ’month’, ’day’, ’hour’, ’minute’, ’second’select = {’day’: connection.ops.datetime_trunc_sql(’day’, ’establish’, 8)}result = models.FocusOnRecord.objects.extra(select=select).values(’day’).annotate(number=Count(’id’)).order_by('day')[0:9]for key in result: print(key) >>{’day’: datetime.datetime(2019, 6, 28, 0, 0), ’number’: 1}>>{’day’: datetime.datetime(2019, 6, 29, 0, 0), ’number’: 7}>>{’day’: datetime.datetime(2019, 7, 2, 0, 0), ’number’: 1}>>{’day’: datetime.datetime(2019, 7, 11, 0, 0), ’number’: 3}>>{’day’: datetime.datetime(2019, 7, 20, 0, 0), ’number’: 32}>>{’day’: datetime.datetime(2019, 7, 21, 0, 0), ’number’: 2}>>{’day’: datetime.datetime(2019, 7, 29, 0, 0), ’number’: 3}>>{’day’: datetime.datetime(2019, 7, 31, 0, 0), ’number’: 10}>>{’day’: datetime.datetime(2019, 8, 1, 0, 0), ’number’: 20}

2.5 時

from django.db import connectionfrom django.db.models import Count# ’year’, ’month’, ’day’, ’hour’, ’minute’, ’second’select = {’hour’: connection.ops.datetime_trunc_sql(’hour’, ’establish’, 8)}result = models.FocusOnRecord.objects.extra(select=select).values(’hour’).annotate(number=Count(’id’)).order_by('hour')[0:9]for key in result: print(key) >>{’hour’: datetime.datetime(2019, 6, 28, 17, 0), ’number’: 1}>>{’hour’: datetime.datetime(2019, 6, 29, 9, 0), ’number’: 6}>>{’hour’: datetime.datetime(2019, 6, 29, 10, 0), ’number’: 1}>>{’hour’: datetime.datetime(2019, 7, 2, 14, 0), ’number’: 1}>>{’hour’: datetime.datetime(2019, 7, 11, 14, 0), ’number’: 2}>>{’hour’: datetime.datetime(2019, 7, 11, 15, 0), ’number’: 1}>>{’hour’: datetime.datetime(2019, 7, 20, 11, 0), ’number’: 24}>>{’hour’: datetime.datetime(2019, 7, 20, 12, 0), ’number’: 3}>>{’hour’: datetime.datetime(2019, 7, 20, 13, 0), ’number’: 2}

2.6 分

from django.db import connectionfrom django.db.models import Count# ’year’, ’month’, ’day’, ’hour’, ’minute’, ’second’select = {’minute’: connection.ops.datetime_trunc_sql(’minute’, ’establish’, 8)}result = models.FocusOnRecord.objects.extra(select=select).values(’minute’).annotate(number=Count(’id’)).order_by('minute')[0:9]for key in result: print(key) >>{’minute’: datetime.datetime(2019, 6, 28, 17, 22), ’number’: 1}>>{’minute’: datetime.datetime(2019, 6, 29, 9, 6), ’number’: 4}>>{’minute’: datetime.datetime(2019, 6, 29, 9, 39), ’number’: 1}>>{’minute’: datetime.datetime(2019, 6, 29, 9, 41), ’number’: 1}>>{’minute’: datetime.datetime(2019, 6, 29, 10, 4), ’number’: 1}>>{’minute’: datetime.datetime(2019, 7, 2, 14, 57), ’number’: 1}>>{’minute’: datetime.datetime(2019, 7, 11, 14, 48), ’number’: 1}>>{’minute’: datetime.datetime(2019, 7, 11, 14, 54), ’number’: 1}>>{’minute’: datetime.datetime(2019, 7, 11, 15, 40), ’number’: 1}

2.7 秒

from django.db import connectionfrom django.db.models import Count# ’year’, ’month’, ’day’, ’hour’, ’minute’, ’second’select = {’second’: connection.ops.datetime_trunc_sql(’second’, ’establish’, 8)}result = models.FocusOnRecord.objects.extra(select=select).values(’second’).annotate(number=Count(’id’)).order_by('second')[0:9]for key in result: print(key)>>{’second’: datetime.datetime(2019, 6, 28, 17, 22, 54), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 9, 6, 1), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 9, 6, 18), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 9, 6, 35), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 9, 6, 36), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 9, 39, 30), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 9, 41, 17), ’number’: 1}>>{’second’: datetime.datetime(2019, 6, 29, 10, 4, 15), ’number’: 1}>>{’second’: datetime.datetime(2019, 7, 2, 14, 57, 56), ’number’: 1}

到此這篇關于Django中日期時間型字段進行年月日時分秒分組統計的文章就介紹到這了,更多相關Django 日期時間型字段統計內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Django
相關文章:
主站蜘蛛池模板: 国内自拍第1页 | 久久全国免费久久青青小草 | 久久高清一级毛片 | 亚洲一区二区三区欧美 | 在线看a级片| 日本天堂在线视频 | 一级特级欧美a毛片免费 | 一区二区日韩 | 在线观看一级毛片 | 久久久久毛片免费观看 | 午夜91理论片 | 久久青草免费线观最新 | 国产4tube在线播放 | 欧美一级情欲片在线 | 色天使色婷婷在线影院亚洲 | 最新国产三级久久 | 一本色道久久88 | www.亚洲视频| 日韩亚洲欧美理论片 | 在线成人播放毛片 | 久久精品a一国产成人免费网站 | 国产三级日本三级日产三级66 | 日本一区二区三区四区公司 | 午夜视频网站 | 全部免费的毛片视频观看 | 欧美人成人亚洲专区中文字幕 | 真人毛片免费全部播放完整 | 九九视频在线观看视频 | 日韩中文字幕在线免费观看 | 久久合| 伊人蜜桃| 欧美日韩在线观看免费 | 亚洲涩涩精品专区 | 亚洲精品免费在线 | 99久久99久久精品免费看子 | 欧美在线观看不卡 | 日本特黄特色高清免费视频 | 久久免费激情视频 | 女人张开双腿让男人 | 久久欧美 | 深夜爽爽爽福利动态图 |