moment JS 时间操作指南

一、安装

npm install moment --save

二、格式化当前日期

//显示结果为:"2017-09-20 15:35:52"

moment(new Date()).format('YYYY-MM-DD HH:mm:ss');

//显示结果为:"2017/09/20 15:39:58"

moment(new Date()).format('YYYY/MM/DD HH:mm:ss');

//显示结果为:"2017-9-20 15:40:45"

moment(new Date()).format('YYYY-M-D HH:mm:ss');

y表示日期,m表示月份,d表示事件,h表示小时,m表示分钟,s表示秒,不区分大小写

三、获取各阶段的时间

当前时间:

//显示结果为:"2017-09-20 15:35:52"

moment(new Date()).format('YYYY-MM-DD HH:mm:ss');

获取前一个月的日期:

//显示结果为:"2017-08-20 15:35:52"

moment(new Date()).subtract(1,'months').format('YYYY-MM-DD HH:mm:ss');

获取前10天的日期:

//显示结果为:"2017-09-10 15:35:52"

moment(new Date()).subtract(10,'days').format('YYYY-MM-DD HH:mm:ss');

获取前一年的日期:

//显示结果为:"2016-09-20 15:35:52"

moment(new Date()).subtract(1,'years').format('YYYY-MM-DD HH:mm:ss');

**负数则表示将来某一天

四、获取时间戳

moment(new Date()).valueOf()

五、判断是否在某个时间段内

moment('2010-10-20').isBetween('2010-10-19', '2010-10-25'); // true

六、要检查变量是否为 moment 对象,则使用 moment.isMoment()

moment.isMoment() // false
moment.isMoment(new Date()) // false
moment.isMoment(moment()) // true

从 2.11.0 版本开始,还可以通过 instanceof 运算符检测 moment 对象:

moment() instanceof moment // true

七、获取两个时刻之间的差值的时长

支持的度量有 yearsmonthsweeksdayshoursminutes 和 seconds

var a = moment([2008, 9]);
var b = moment([2007, 0]);
a.diff(b, 'years');       // 1
a.diff(b, 'years', true); // 1.75

 如果该时刻早于传给 moment.fn.diff 的时刻,则返回值为负数。

var a = moment();
var b = moment().add(1, 'seconds');
a.diff(b) // -1000
b.diff(a) // 1000

八、时间间隔或相对时间

moment([2007, 0, 29]).fromNow();     // 4 年前

moment([2007, 0, 29]).toNow(); // 4 年内

如果传入 true,则可以获得不带后缀的值。

moment([2007, 0, 29]).fromNow(true); // 4 年

moment([2007, 0, 29]).toNow(true); // 4 年

 

更多详情请移步官网文档: moment.js

原文地址:https://www.cnblogs.com/art-poet/p/13936826.html