我正在尝试将日期时间值格式化为人类可读的格式
例如:
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') }}
有人可以帮忙吗?
答案 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>
这对我来说适用于日期和时间。