前言: Flask-Moment在所有的flask扩展中算是相对简单的一个了,但是还是有很多需要理解的地方.那么今天就跟着笔者一起,来学习一下flask-moment在flask项目中的应用.
首先,我们要理解flask-moment是用来干什么的,摘用狗书的一段话:
有一个使用 JavaScript 开发的优秀客户端开源代码库,名为 moment.js(http://momentjs.
com/),它可以在浏览器中渲染日期和时间。Flask-Moment 是一个 Flask 程序扩展,能把
moment.js 集成到 Jinja2 模板中。
这段话很好理解,简单来说就是在网页上显示时间.具体操作如下
一.初始化flask-moment
from flask_sqlalchemy import SQLAlchemy
moment=Moment()
二.应用flask-moment所必须的条件
{{ moment.include_moment() }}
{{ moment.include_jquery() }}
导入moment和jquery,其中如果在你的项目中应用了bootstrap,那么就不必导入jquery了.
在两行代码可以放在base.html样式中,方便其他模板继承.
三.具体实战
#导入from datetime import datetime
time=datetime.utcnow() #作为视图函数的参数传递
<p>打开页面时间是: {{ moment(time).format('YYYY年M月D日,H:mm:ss A,第w周') }}.</p>
<p>已过去: {{ moment(time).fromNow(refresh=True) }}</p>
如何理解呢?
moment(time).format('YYYY年M月D日,H:mm:ss A,第w周')
#获取当前时间,并且按一定时间显示
moment(time).fromNow(refresh=True)
#fromNow 是相对时间,意思是据上次过去了多久,当传递refresh=True是,会根据时间在页面显示过去了多久,如几秒,几分钟
一开始学有疑问了,哈?YYYY年M月......这些东西是啥?没解释清楚啊,其实你英语好的话就很好理解了year(年).....懂了吧!
具体如下:
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 | 时间戳 |
当然moment.js还有很多方法,具体可以访问moment.js的中文官方网站:http://momentjs.cn/