moment.js不依赖任何第三方库,支持字符串、Date、时间戳以及数组等格式,可以格式化日期时间,计算相对时间,获取特定时间后的日期时间等等,项目中用到的是对日期字符串进行Date转换,然后获得毫秒时间戳。
只需要下载moment.js,置于项目中,并引入
下来看我是怎么处理的:
1,获得moment对象:
moment('2018/12/13','YYYY/MM')
2.根据1获得date对象:
moment('2018/12/13','YYYY/MM')._d
3.获得毫秒时间戳:
moment('2018/12/13','YYYY/MM')._d.getTime()
4.获取指定日期的结束或开始时间:
moment('2018/12/13','YYYY/MM、D').endOf('day') //Sat Dec 13 2018 23:59:59 GMT+0800 (中国标准时间)
moment('2018/12/13','YYYY/MM').startOf('day') //Thu Dec 13 2018 00:00:00 GMT+0800 (中国标准时间)
括号中day可以换成 year,month,quarter,week,isoWeek,day,hour,minute,second,分别表示当前时间的最后时间或开始时间。
5.日期加减法:
moment('2018/12/13','YYYY/MM').add(1,'d') //表示加一天,d表示天,也可以写为days,具体参考表:
Key
Shorthand
years
y
quarters
Q
months
M
weeks
w
days
d
hours
h
minutes
m
seconds
s
milliseconds
ms
项目中是对事件范围字符串进行处理如下:
function getRange() {
var start,end;
var time = "2018/12/01 - 2018/12/31";
if (time) {
var timeArray = time.split(" - ");
start = moment(timeArray [0], "YYYY/MM/DD")._d.getTime();
end = moment(timeArray [1], "YYYY/MM/DD").add(1, "d")._d.getTime();
} else {
start = end = null;
}
}
参考:
http://momentjs.cn/docs/#/parsing/string-format/
http://momentjs.cn/docs/#/manipulating/add/
https://www.jianshu.com/p/9c10543420de