Flask 入门7:使用 Flask-Moment 本地化日期和时间

如果Web应用的用户来自世界各地,那么处理日期和时间可不是一个简单的任务。服务器需要统一时间单位,这和用户所在的地理位置无关,所以一般使用协调世界时(UTC)。不过用户看到 UTC 格式的时间会感到困惑,他们更希望看到当地时间,而且采用当地惯用的格式。

要想在服务器上只使用UTC时间,一个优雅的解决方案是,把时间单位发送给Web浏览器,转换成当地时间,然后用JavaScript渲染。Web浏览器可以更好地完成这一任务,因为它能获取用户计算机中的时区和区域设置。

初始化Flask-Moment:

python 复制代码
from flask_moment import Moment 
moment = Moment(app)

引入 Moment.js 库:

html 复制代码
{% block scripts %} 
{{ super() }} 
{{ moment.include_moment() }} 
{% endblock %}

添加一个datetime变量:

python 复制代码
from datetime import datetime 
@app.route('/') 
def index(): 
    return render_template('index.html', 
                           current_time=datetime.utcnow())

使用 Flask-Moment 渲染时间戳:

html 复制代码
<p>The local date and time is {{ moment(current_time).format('LLL') }}.</p>
<p>That was {{ moment(current_time).fromNow(refresh=True) }}</p>

最终效果:

相关推荐
Csvn7 小时前
Linux 防火墙管理 — firewalld 实战
后端
Csvn7 小时前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python
leeyi8 小时前
Multi-Agent:让多个 AI 分工协作完成复杂任务
后端·aigc·agent
长栎8 小时前
你的策略模式是 Map<String, Strategy>?那不过是最廉价的 if-else 替代品
后端
长栎8 小时前
你写的 abstract class 里全是钩子方法——模板模式不是让你填空,是让你别越界
后端
ping某8 小时前
语法树,到底是一棵什么形状的树?
后端
_柳青杨8 小时前
一文吃透 Node.js 事件循环:从原理到 Node 20+ 重大变更
javascript·后端
Alson_Code8 小时前
人机协作项目文档--HITL-AgentScope
后端·aigc·ai编程
IT_陈寒8 小时前
Java 并行流把我坑惨了,这6小时加班值了
前端·人工智能·后端
葫芦和十三9 小时前
图解 MongoDB 03|CRUD 全链路:一条 find 怎么穿过 WiredTiger
后端·mongodb·agent