js中使用moment.js对日期进行处理

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,具体参考表:

KeyShorthand
yearsy
quartersQ
monthsM
weeksw
daysd
hoursh
minutesm
secondss
millisecondsms

 

项目中是对时间范围字符串进行处理获得毫秒数据如下:
 

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;
    }
}

解析结果如下:
start:1543593600000,对应日期时间:2018-12-01 00:00:00
end:1546272000000,对应日期时间:2019-01-01 00:00:00

也可以将结束日期设置为:
moment(timeArray [1], "YYYY/MM/DD").endOf("day")._d.getTime()
得到结果为:1546271999999,对应日期时间:2018-12-31 23:59:59

 

参考:
http://momentjs.cn/docs/#/parsing/string-format/
http://momentjs.cn/docs/#/manipulating/add/
https://www.jianshu.com/p/9c10543420de

 

转载于:https://my.oschina.net/kevin2kelly/blog/2990074

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值