try: # time.localtime() 返回一個時間對象 t.tm_year年 t.tm_mon 月份 t = time.localtime() # datetime.strptime(時間,格式format) 返回一個時間 %02d補全兩位數 begin_mon_date = datetime.strptime(('%d-%02d-01' % (t.tm_year, t.tm_mon)), "%Y-%m-%d") mon_count = User.query.filter(User.create_time > begin_mon_date).count()
1、time.localtime 獲取當前時間 會返回一個時間對象 對象包含 tm_year年 tm_mon月
2、datetime.strptime() 格式化時間 參數一為當前時間 ,參數2為format
3、用User.create_time 創建時間 大於當前月份一號的時間 則為當月新增賬戶
for i in range(0, 31):
begin_date = begin_today_date - timedelta(days=i)
end_date = begin_today_date - timedelta(days=(i - 1))
print(end_date)
count = User.query.filter(User.is_admin == False, User.last_login >= begin_date,
User.last_login < end_date).count()
active_count.append(count)
active_time.append(begin_date.strftime('%Y-%m-%d'))
# 反轉讓最新的時間在最后面
active_time.reverse()
active_count.reverse()
1、表示最近31天
2、 begin_date 當天時間減去i 天
3、 end_date 當天時間減去 i-1 天 減負一就是加一天 能取到當天的時間
4、查詢上次登錄大於今天0點 小於今天24點的用戶
5、reverse 反轉數組 ,將數據渲染到前端頁面
datetime.strptime 將時間轉成字符串
datetime.strftime 將字符串轉成時間
