from flask import Flask, render_template from datetime import datetime app = Flask(__name__) @app.template_filter('hander_time') def hander_time(time): ''' 需求: time距离现在的时间间隔 1. 如果时间间隔小于1分钟以内,那么就显示“刚刚” 2. 如果是大于1分钟小于1小时,那么就显示“xx分钟前” 3. 如果是大于1小时小于24小时,那么就显示“xx小时前” 4. 如果是大于24小时小于30天以内,那么就显示“xx天前” 5. 否则就是显示具体的时间 2030/10/20 16:15 ''' #获取当前时间 now=datetime.now() #将相差的时间计算成秒 temp_stamp=(now-time).total_secondes() if temp_stamp<60: return'一分钟之前' elif temp_stamp>=60 and temp_stamp <=3600: return'一个小时之前' elif temp_stamp>=3600 and temp_stamp <=3600*24: hours=temp_stamp/(3600) return f'{hours}小时之前' elif temp_stamp>=60*60*24 and temp_stamp<=60*60*24*30: day=temp_stamp/(30*60*24) return f'{day}天之前' else: return '很久以前' @app.route('/') def index(): tmp_time=datetime(2023,3,5,10,10,10) return render_template('10index.html', tmp_time=tmp_time) if __name__ == '__main__': app.run(debug=True)
时间: 2023-05-11 20:03:59 浏览: 135
flask-app-template, 一个完整的Flask 应用程序模板,带有有用的插件.zip
这段代码是一个使用Flask框架的Python程序,导入了Flask和render_template模块以及datetime模块。其中,Flask是一个Web框架,render_template用于渲染模板,datetime用于处理日期和时间。
@app.template_filter('hander_time')是一个装饰器,用于注册一个名为hander_time的模板过滤器。该过滤器接受一个时间参数time,并根据时间间隔返回不同的字符串。
具体来说,如果时间间隔小于1分钟,返回“刚刚”;如果大于1分钟小于1小时,返回“xx分钟前”;如果大于1小时小于24小时,返回“xx小时前”;如果大于24小时小于30天,返回“xx天前”;否则返回具体的时间,例如“2030/10/20 16:15”。
这个过滤器可以在模板中使用,例如{{ post_time|handel_time }},其中post_time是一个时间变量。
阅读全文