日期时间对象转换为可读格式Jinja

时间:2019-12-17 14:19:28

标签: datetime formatting jinja2

我正在尝试将日期时间值格式化为人类可读的格式

例如:

value = 2019-12-17T08:12:58.472+00:00
expected result = 17/12/2019.

代码必须在Jinja中。一直在尝试执行以下操作,但收到错误消息:

{{ 2019-12-17T08:12:58.472+00:00 | from.strftime('%Y-%m-%d') }}

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

这对我有用,它以您请求的“人类可读”格式%d/%m/%Y提取日期:

>>> from jinja2 import Template
>>> from datetime import datetime
>>> t = Template("Hello, {{ your_jinja_date_var.strftime('%d/%m/%Y') }}!")
>>> t.render(your_jinja_date_var=datetime.now())
'Hello, 17/12/2019!'

这里是API docs,您可以在其中找到jinja的其他令人难以置信的功能。

您上述问题中的strftime函数确实暗示了标准的ISO日期约定%Y-%m-%d。如果您想要该日期格式:

>>> t = Template("Hello, {{ your_jinja_date_var.strftime('%Y-%m-%d') }}!")
>>> t.render(your_jinja_date_var=datetime.now())
'Hello, 2019-12-17!'

最重要的是,here's在Real Python平台上有一篇不错的教程文章,关于我认为有用的主题。

答案 1 :(得分:0)

<p>Last seen: {{ user.last_seen.strftime('%d-%m-%Y, %T') }}</p>

这对我来说适用于日期和时间。