依赖
1 | npm install moment --save # npm |
官网地址:http://momentjs.com/
使用
日期格式化
1
2
3
4
5moment().format('MMMM Do YYYY, h:mm:ss a'); // 九月 6日 2018, 10:21:36 晚上
moment().format('dddd'); // 星期四
moment().format("MMM Do YY"); // 9月 6日 18
moment().format('YYYY [escaped] YYYY'); // 2018 escaped 2018
moment().format(); // 2018-09-06T22:21:36+08:00相对时间
1
2
3
4
5moment("20111031", "YYYYMMDD").fromNow(); // 7 年前
moment("20120620", "YYYYMMDD").fromNow(); // 6 年前
moment().startOf('day').fromNow(); // 1 天前
moment().endOf('day').fromNow(); // 2 小时内
moment().startOf('hour').fromNow(); // 22 分钟前日历时间
1
2
3
4
5
6
7
8moment().subtract(10, 'days').calendar(); // 2018年8月27日
moment().subtract(6, 'days').calendar(); // 上周五晚上10点22
moment().subtract(3, 'days').calendar(); // 本周一晚上10点22
moment().subtract(1, 'days').calendar(); // 昨天晚上10点22分
moment().calendar(); // 今天晚上10点22分
moment().add(1, 'days').calendar(); // 明天晚上10点22分
moment().add(3, 'days').calendar(); // 本周日晚上10点22
moment().add(10, 'days').calendar(); // 2018年9月16日多语言支持
1
2
3
4
5
6
7
8moment().format('L'); // 2018-09-06
moment().format('l'); // 2018-09-06
moment().format('LL'); // 2018年9月6日
moment().format('ll'); // 2018年9月6日
moment().format('LLL'); // 2018年9月6日晚上10点22分
moment().format('lll'); // 2018年9月6日晚上10点22分
moment().format('LLLL'); // 2018年9月6日星期四晚上10点22分
moment().format('llll'); // 2018年9月6日星期四晚上10点22分
注意
在snapshot测试中,使用moment(“2018-01-01T00:00:00.000Z”)时,本地测试通过,服务器pipeline跑测试可能会fail,原因是服务器可能和local不是同一个时区,当没有字符串最后的字母时,代表是一个固定时间。相反的是,使用moment(“2018-01-01T00:00:00.000”).unix()生成时间戳时,必须要最后的字母确定时区,才能准确获得唯一的时间戳。