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

发布于 2019-08-06 19:17:06 字数 5401 浏览 1698 评论 0

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

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 PMAM PM
a小写的am pmam 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
XUnix时间戳1411572969

相关链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

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

0 文章
0 评论
84960 人气
更多

推荐作者

emdigitizer10

文章 0 评论 0

残龙傲雪

文章 0 评论 0

奢望

文章 0 评论 0

微信用户

文章 0 评论 0

又爬满兰若

文章 0 评论 0

独孤求败

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文