Moment.js 简单易用的轻量级 JavaScript 日期处理类库 - 文章教程

Moment.js 简单易用的轻量级 JavaScript 日期处理类库

发布于 2019-08-06 字数 6187 浏览 1308 评论 0

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

Moment.js 简单易用的轻量级 JavaScript 日期处理类库

Moment.js 不依赖任何第三方库,支持字符串、Date、时间戳以及数组等格式,可以像 PHP 的 date() 函数一样,格式化日期时间,计算相对时间,获取特定时间后的日期时间等等。

安装方式

你可以使用你熟悉的软件安装包安装 Moment.js

bower install moment --save # bower
npm install moment --save   # npm
Install-Package Moment.js   # NuGet
spm install moment --save   # spm
meteor add momentjs:moment  # meteor

如果你还不知道上面的东西,你可以点击下面的按钮下载 Moment.js 源文件

moment.js
moment.min.js 12.4k
moment+多语言支持.js
moment+多语言支持.min.js 45.4k

使用方法

接下来我们将简单的介绍如何使用Moment.js,更加详细的高级用法参见参数部分。

日期格式化

moment().format('MMMM Do YYYY, h:mm:ss a'); // 十二月 8日 2015, 2:36:37 下午
moment().format('dddd');                    // 星期二
moment().format("MMM Do YY");               // 12月 8日 15
moment().format('YYYY [escaped] YYYY');     // 2015 escaped 2015
moment().format();                          // 2015-12-08T14:36:37+08:00

相对时间

moment("20111031", "YYYYMMDD").fromNow(); // 4 年前
moment("20120620", "YYYYMMDD").fromNow(); // 3 年前
moment().startOf('day').fromNow();        // 15 小时前
moment().endOf('day').fromNow();          // 9 小时内
moment().startOf('hour').fromNow();       // 37 分钟前

日历时间

moment().subtract(10, 'days').calendar(); // 2015年11月28日
moment().subtract(6, 'days').calendar();  // 上周三下午2点36
moment().subtract(3, 'days').calendar();  // 上周六下午2点36
moment().subtract(1, 'days').calendar();  // 昨天下午2点36分
moment().calendar();                      // 今天下午2点36分
moment().add(1, 'days').calendar();       // 明天下午2点36分
moment().add(3, 'days').calendar();       // 本周五下午2点36
moment().add(10, 'days').calendar();      // 2015年12月18日

多语言支持

moment().format('L');    // 2015-12-08
moment().format('l');    // 2015-12-08
moment().format('LL');   // 2015年12月8日
moment().format('ll');   // 2015年12月8日
moment().format('LLL');  // 2015年12月8日下午2点36分
moment().format('lll');  // 2015年12月8日下午2点36分
moment().format('LLLL'); // 2015年12月8日星期二下午2点36分
moment().format('llll'); // 2015年12月8日星期二下午2点36分

可选自定义参数

Moment.js 提供了丰富的说明文档,使用它还可以创建日历项目等复杂的日期时间应用。我们日常开发中最常用的是格式化时间,下面我把常用的格式制作成表格说明供有需要的朋友查看:

格式代码 说明 返回值例子
M 数字表示的月份,没有前导零 1到12
MM 数字表示的月份,有前导零 01到12
MMM 三个字母缩写表示的月份 Jan到Dec
MMMM 月份,完整的文本格式 January到December
Q 季度 1到4
D 月份中的第几天,没有前导零 1到31
DD 月份中的第几天,有前导零 01到31
d 星期中的第几天,数字表示 0到6,0表示周日,6表示周六
ddd 三个字母表示星期中的第几天 Sun到Sat
dddd 星期几,完整的星期文本 从Sunday到Saturday
w 年份中的第几周 如42:表示第42周
YYYY 四位数字完整表示的年份 如:2014 或 2000
YY 两位数字表示的年份 如:14 或 98
A 大写的AM PM AM PM
a 小写的am pm am pm
HH 小时,24小时制,有前导零 00到23
H 小时,24小时制,无前导零 0到23
hh 小时,12小时制,有前导零 00到12
h 小时,12小时制,无前导零 0到12
m 没有前导零的分钟数 0到59
mm 有前导零的分钟数 00到59
s 没有前导零的秒数 1到59
ss 有前导零的描述 01到59
X Unix时间戳 1411572969

相关链接

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

2583 文章
29 评论
84935 人气
更多

推荐作者

清风夜微凉

文章 1 评论 0

为你鎻心

文章 2 评论 0

xxhui

文章 0 评论 0

1PKOH46yx8j0x

文章 0 评论 0

Arthur

文章 0 评论 0