###实现步骤
#第一步,引导入 datetime
#第二步,引入一个创建时间,或者 直接写死一个时间
#第三步,注册一个时间过滤器
#第四步,实现过滤器的代码
#第五步,在模板中调用
示例代码:
一、字典中的代码 'create_time': datetime(2017,10,20,16,19,0)
二、过滤器代码
@app.template_filter('handle_time')#注册一个过滤器 def handel_time(time): """ time距离现在的时间间隔 1. 如果时间间隔小于5分钟以内,那么就显示“刚刚” 2. 如果是大于5分钟小于1小时,那么就显示“xx分钟前” 3. 如果是大于1小时小于24小时,那么就显示“xx小时前” 4. 如果是大于24小时小于30天以内,那么就显示“xx天前” 5. 否则就是显示具体的时间 2017/10/20 16:15 """ if isinstance(time,datetime):#两个if else,外层的先判断数据格式是否是datetime now = datetime.now() # h获取当前的时间 timestampe = (now - time).total_seconds() # 取得两个时间差,并且转为秒 if timestampe < 60 * 5: return "刚刚" elif timestampe >= 60 * 5 and timestampe < 60 * 60: minutes = timestampe / 60 return "%s分钟之前" % int(minutes) elif timestampe >= 60 * 60 and timestampe < 60 * 60 * 24: minutes = timestampe / 60 hours = minutes / 60 return "%s小时之前" % int(hours) else: return time.strftime('%Y/%m/%d %H:%M') else: return time
三、模板中的代码
<p>测试时间过滤器是否管用 {{create_time|handle_time}}</p>