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 时间戳

Flask学习记录之Flask-Moment的更多相关文章

  1. [ZHUAN]Flask学习记录之Flask-SQLAlchemy

    From: http://www.cnblogs.com/agmcs/p/4445583.html 各种查询方式:http://www.360doc.com/content/12/0608/11/93 ...

  2. Flask学习记录之Flask-SQLAlchemy

    Flask-SQLAlchemy库让flask更方便的使用SQLALchemy,是一个强大的关系形数据库框架,既可以使用orm方式操作数据库,也可以使用原始的SQL命令. Flask-Migrate ...

  3. Flask学习记录之Flask-Login

    Flask-Loging 可以方便的管理用户会话,保护路由只让认证用户访问 http://flask-login.readthedocs.org/en/latest/ 一.初始化Flask-Login ...

  4. Flask学习记录之Flask-Admin

    相信用过Django框架的都不会忘记它强大的Admin功能,Flask-admin是一款能够与Django Admin所媲美的扩展,能够快速创建Web管理界面,实现了用户.文件增删改查等常用功能:也可 ...

  5. Flask学习记录之MarkDown编辑文本

    为了让网页支持markdown编辑文本,使用如下了4个库 PageDown : 在前端提供一个可以实时将markdown内容转换成html文本进行效果预览的编辑器 Flask-PageDown: 这个 ...

  6. Flask学习记录之Flask-Migrate

    一.配置Flask-Migrate from flask.ext.migrate import Migrate, MigrateCommand migrate = Migrate(app,db) #第 ...

  7. Flask学习记录之Flask-WTF

    Flask-wtf时Wtforms库的flask框架扩展,能够方便的处理Web表单 一.定义一个web表单 使用flask-wtf时,每个web表单都由一个继承自flask.ext.wtf.Form的 ...

  8. Flask学习记录之Flask-Mail

    Flask-Mail可以连接到配置中的SMTP服务器,进行邮件发送,如果没有进行SMTP服务器的配置,将会默认连接到localhost上的 一.配置及初始化 (1)flask应用配置 #配置选项 MA ...

  9. Flask学习记录之使用Werkzeug散列密码

    数据库中直接存放明文密码是很危险的,Werkzeug库中的security能够方便的实现散列密码的计算 security库中 generate_password_hash(password,metho ...

随机推荐

  1. AtomicInteger小小的理解

    这里仅仅是验证多线程环境下,AtomicInteger的安全性. 通过源码不难发现两点: 1.value属性是volatile修饰 2.使用了unsafe的CAS操作 通过上述两点,实现非阻塞同步(乐 ...

  2. 父Prefab与子prefab问题

    PrefabRevolution 原文:http://framebunker.com/blog/poor-mans-nested-prefabs/   (溜还是老外溜啊) 有些时候需要在Prefab里 ...

  3. target vs currentTarget, clientWidth vs offsetWidth

    width: document < window(browser) < screen document--> clientWidth < offsetWidth(include ...

  4. 输出宽字符数组 C++

    std::cout << "ASCII and ANSI" << std::endl;std::wcout << L"INSERT M ...

  5. 测试Remoting三种信道Http,Tcp,Ipc和Web Service的访问速度 (转)

    Remoting和Web Service是.net中的重要技术,都可用来实现分布式系统开发,如果是不同的平台就只能选择Web Service,但如果是同一平台,就都可以选择了.到底选择那种,当然还有访 ...

  6. [LeetCode] 230. Kth Smallest Element in a BST 解题思路

    Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Not ...

  7. [HNOI 2013] 消毒 (搜索,二分图匹配)

    题目大意 一个a * b * c(a * b * c <= 5000)大小的长方体中有一些点需要被覆盖,每次可以选择任意大小的长方体,覆盖其中的点,产生的代价为这个长方体长宽高中最小的那个的长度 ...

  8. openStack工具集

    Openstack发展很猛,很多朋友都很认同,2013年,会很好的解决OpenStack部署的问题,让安装,配置变得更加简单易用. 很多公司都投入人力去做这个,新浪也计划做一个Openstack的is ...

  9. 详解Java反射各种应用

    Java除了给我们提供在编译期得到类的各种信息之外,还通过反射让我们可以在运行期间得到类的各种信息.通过反射获取类的信息,得到类的信息之后,就可以获取以下相关内容: Class对象 构造器 变量 方法 ...

  10. [原创]Python入门到简单网站目录扫描器编写(上)

    1.字符串,整型,浮点型.区别以及用法 |------字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 可以不严格的说,你可以认为引号包括的,都属于字符串 ...