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
七、获取两个时刻之间的差值的时长
支持的度量有 years
、months
、weeks
、days
、hours
、minutes
和 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 年