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>

最终效果:

相关推荐
子兮曰24 分钟前
把 649 种文件格式塞进一个网页里:一个「文件不出浏览器」的预览器
前端·javascript·后端
kobe_OKOK_2 小时前
__getattr__和__getattribute__如何用
python
全栈弄潮儿3 小时前
Python实战第2期: 变量与数据类型
后端·python·agent
长沙三为智能科技3 小时前
家政小程序门店运营模块设计:会员、下单、派单、结算四段链路的落地拆解
python·小程序·内容运营
Cc.Y3 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
启观川3 小时前
数据结构与算法 -第 3 章 常用算法-动态规划
数据结构·笔记·python·算法
码爸3 小时前
排序算法介绍
python·算法·排序算法
笔墨登场说说4 小时前
flink bin/start-cluster.sh 帮我做成开机启动
开发语言·python
码事漫谈4 小时前
五道题,测测你有没有真的入门 AI
后端