在模板中经常要显示不同格式的日期时间,但jinja2没有内置的日期时间格式化过滤器,只能自己动手,丰衣足食了。
过滤器本身也是函数,所以先写个格式化函数:
def format_datetime(dt, fmt):
"""
多功能日期时间格式化过滤器。
用法:
{{ now|format_datetime(1) }}
"""
# 定义各种日期时间格式
formats = {
1: '%Y-%m-%d %H:%M:%S',
2: '%Y-%m-%d',
3: '%Y/%m/%d',
4: '%Y 年 %m 月 %d 日',
5: '%m-%d %H:%M',
6: '%m/%d',
7: '%m 月 %d 日',
8: '%Y 年 %m 月',
9: '%Y-%m',
10: '%Y/%m',
11: '%y-%m-%d %H:%M',
12: '%y-%m-%d',
13: '%m-%d',
14: '%Y%m%d%H%M%S',
15: '%y.%m.%d',
# 可以继续添加更多的格式选项
}
# 根据提供的数字选择正确的格式
return dt.strftime(formats[fmt])
可以自己继续扩展想要的格式
记得在app.py中注册过滤器哦~