如何在Jinja2中格式化日期?

如何在Jinja2中格式化日期?,第1张

如何在Jinja2中格式化日期?

有两种方法可以做到这一点。直接的方法是简单地调用(并打印)模板中的strftime()方法,例如

{{ car.date_of_manufacture.strftime('%Y-%m-%d') }}

另一种明显更好的方法是定义自己的过滤器,例如:

from flask import Flaskimport babelapp = Flask(__name__)@app.template_filter()def format_datetime(value, format='medium'):    if format == 'full':        format="EEEE, d. MMMM y 'at' HH:mm"    elif format == 'medium':        format="EE dd.MM.y HH:mm"    return babel.dates.format_datetime(value, format)

(出于与i18n有关的原因,此过滤器基于babel,但您也可以使用strftime)。过滤器的优点是,您可以编写

{{ car.date_of_manufacture|datetime }}{{ car.date_of_manufacture|datetime('full') }}

看起来更好,更易于维护。另一个常见的过滤器也是“ timedelta”过滤器,其计算结果类似于“
8分钟前编写”。您可以使用

babel.dates.format_timedelta
它,并将其注册为类似于此处给出的datetime示例的过滤器。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5667640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存