博主为大家介绍一个非常好用的时间处理插件– :momentjs对js中的date对象进行了一层封装,使之具有更加强大日期处理能力。它里面包含了非常多而且有用的对时间进行操作的方法,例如:时间加减法、比较大小/差值计算、isBefore/isAfter,还支持非常多的时间格式及语言。
使用环境
Momentjs支持多个环境,既可以在浏览器中使用,也可以脱离浏览器的环境在nodejs中使用。
node
在nodejs中使用momentjs的话需要安装moment模块,然后加载模块就行了 命令如下:
`npm install moment
var moment = require(‘moment’);`
浏览器
在浏览器中使用使用 则用引入momentjs文件即可,使用的时候在nodejs和浏览器中并没有什么区别。
常用方法
(一) 获得当前的时间
使用moment()即可获取当前时间,相当于moment(new Date()) 此处会返回一个moment封装的日期对象。
获取当前时间并以指定格式输出出来:
moment().format(‘YYYY-MM-DD’);
(二)初始化一个指定的时间
给moment()函数传递一个iso86601日期格式的对象:
var date = moment(“2015-11-26”);// iso日期格式的字符串传入一个字符串但是后面必须要用moment支持的格式符标识一下怎么解析.
var date = moment(“12/25/1995”,”MM-DD-YYYY”);//传入moment支持的格式符 具体的格式符可以看文档 其实传入入格式符的方式解析时间字符串就是在 底层用了format() 。
(三) 时间加减法
- add
b = moment().add(1,”day”);//当前时间加上1天 - subtract
a = moment().subtract(1,”day”)//当前时间减去1天
c = moment().add(7, ‘days’).add(1, ‘months’);
的函数支持链式写法。
(四) 日期时间的查询方法
-
是否之前:isBefore()
格式: moment().isBefore(Moment|String|Number|Date|Array, String);
moment(‘2010-10-20’).isBefore(‘2010-10-21’); // true参数
如果你想将比较粒度限制为毫秒以外的单位,可以在第二个参数设置要比较的单位。
当设置了第二个参数后,不仅仅会比较这一个级别的单位,当以天为单位比较时,同时会比较年、月、日。
moment(‘2011-01-01’).isBefore(‘2011-01-02’, ‘day’); // true
moment(‘2010-10-20’).isBefore(‘2010-12-31’, ‘year’); // false
moment(‘2010-10-20’).isBefore(‘2011-01-01’, ‘year’); // true
是否相同:isSame()
- 是否之后:isAfter()
- 是否之间:isBetween()
- 是否闰年:isLeapYear()
还有很多……