【Flask项目】 python时间 获取当前时间 当月新增账户 获取当前一天和前一天

    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 将字符串转成时间