日期相关处理类库Moment.js

WEB前端

Moment.js是一个JS处理日期相关的类库。Moment.js主要用于解析、检验、操作、以及显示日期,Moment.js可以很好的在IE8,9,Chrome,Safari,Firefox等浏览器中运行,当然也可以在Node.JS下运行。下面主要讲解下Moment.js的用法和一些API。

1、Moment.js分别在NodeJS下和在浏览器中引入
NodeJS

1
2
3
npm install moment
var moment = require('moment');
moment().format()

Browser浏览器

1
2
3
4
<script src="moment.min.js"></script>
<script>
moment().format();
</script>

2、Moment.js常用API

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//日期格式化
moment().format('MMMM Do YYYY, h:mm:ss a'); // 十二月 13日 2015, 1:30:13 下午
moment().format('dddd'); // 星期日
moment().format("MMM Do YY"); // 12月 13日 15
moment().format('YYYY [escaped] YYYY'); // 2015 escaped 2015
moment().format(); // 2015-12-13T13:30:13+08:00
//相对时间
moment("20111031", "YYYYMMDD").fromNow(); // 4 年前
moment("20120620", "YYYYMMDD").fromNow(); // 3 年前
moment().startOf('day').fromNow(); // 14 小时前
moment().endOf('day').fromNow(); // 10 小时内
moment().startOf('hour').fromNow(); // 30 分钟前
//日历时间
moment().subtract(10, 'days').calendar(); // 2015年12月3日
moment().subtract(6, 'days').calendar(); // 本周一下午1点30
moment().subtract(3, 'days').calendar(); // 本周四下午1点30
moment().subtract(1, 'days').calendar(); // 昨天下午1点30分
moment().calendar(); // 今天下午1点30分
moment().add(1, 'days').calendar(); // 明天下午1点30分
moment().add(3, 'days').calendar(); // 下周三下午1点30
moment().add(10, 'days').calendar(); // 2015年12月23日

3、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

来源:日期相关处理类库Moment.js

发表评论

电子邮件地址不会被公开。 必填项已用*标注