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 |
時間戳 |