您的位置:首页 > 其它

Flask学习记录之Flask-Moment

2015-04-22 10:16 344 查看
Moment.js 是一个简单易用的轻量级JavaScript日期处理类库,提供了日期格式化、日期解析等功能。它支持在浏览器和NodeJS两种环境中运行。此类库能够 将给定的任意日期转换成多种不同的格式,具有强大的日期计算功能,同时也内置了能显示多样的日期形式的函数。另外,它也支持多种语言,你可以任意新增一种 新的语言包。

Flask-Moment是一个集成
moment.js
到Jinja2模板的Flask扩展。

一.初始化Flask-Moment

from flask.ext.moment import Moment
moment = Moment(app)


Flask-Moment依赖
moment.js和
jquery.js
。需要直接包含在HTML文档

在base.html模版中的head标签中导入moment.js和jquery.js

<html>
<head>

{{ moment.include_jquery() }}
{{ moment.include_moment() }}

<!--使用中文,默认是英语的-->
     {{ moment.lang("zh-CN") }}
    
</head> <body> ... </body> </html>


如果使用了bootstrap,可以不用导入jquery.js,因为bootstrap中包含了jquery.js

二.使用Flask-moment

为了使用flask-moment需要传入一个时间变量渲染到模版中,如:

from flask import render_template
from datetime import date
@main.route('/')
def index ():
return render_template('index.html', time = date(1994,8,29))


在模版中渲染,如:

<p>现在时间时: {{ moment().format('YYYY年M月D日, h:mm:ss a') }}.</p>
<p>已经过去了: {{ moment().fromTime(time) }}.</p>
<p>{{ moment().calendar() }}.</p>


结果

现在时间时: 2015年4月22日, 10:06:33 上午.

已经过去了: 21年内.

今天上午10点06.


在moment()中如果不传入python的时间变量,则默认将utc时间转换成本地时间作为显示,传入
local=True参数可以关闭转换
.

三.常用格式化参数

YYYY
2014
年份
YY
14
2个字符表示的年份
Q
1..4
季度
M MM
4..04
月份
MMM MMMM
4月..四月
根据moment.locale()中的设置显示月份
D DD
1..31
一月中的第几天
Do
1日..31日
一月中的第几天
DDD DDDD
1..365
一年中的第几天
X
1410715640.579
时间戳
x
1410715640579
时间戳
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: