js中使用moment.js對日期進行處理

moment.js不依賴任何第三方庫,支持字符串、Date、時間戳以及數組等格式,能夠格式化日期時間,計算相對時間,獲取特定時間後的日期時間等等,項目中用到的是對日期字符串進行Date轉換,而後得到毫秒時間戳。數組

只須要下載moment.js,置於項目中,並引入orm

下來看我是怎麼處理的:對象

1,得到moment對象:
moment('2018/12/13','YYYY/MM')ip

2.根據1得到date對象:
moment('2018/12/13','YYYY/MM')._d字符串

3.得到毫秒時間戳:
moment('2018/12/13','YYYY/MM')._d.getTime()get

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,分別表示當前時間的最後時間或開始時間。string

5.日期加減法:
moment('2018/12/13','YYYY/MM').add(1,'d')    //表示加一天,d表示天,也能夠寫爲days,具體參考表:it

Key Shorthand
years y
quarters Q
months M
weeks w
days d
hours h
minutes m
seconds s
milliseconds ms

 

項目中是對時間範圍字符串進行處理得到毫秒數據以下:
 io

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:00table

也能夠將結束日期設置爲:
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

相關文章
相關標籤/搜索