1. 程式人生 > >【JS】時間與時間戳的轉換方法

【JS】時間與時間戳的轉換方法

一、時間轉時間戳:

1、JavaScrip獲取當前時間的時間戳:

第一種方法:

var timestamp = Date.parse(new Date());//timestamp的結果是1537944187000

第二種方法:

var timestamp2 = (new Date()).valueOf();//timestamp2的結果是1537944187568

第三種方法:

var timestamp3 = new Date().getTime();//timestamp3的結果是1537944187568

總結:上面三種獲取的都是從1970年1月1日零點開始的毫秒數。第一種方法的毫秒數為零,即只精確到秒,而第二種和第三種方法精確到了毫秒。

2、JQuery獲取當前時間的時間戳:(別忘了引用jquery.js檔案哦)

var timestamp4 = $.now();//timestamp4的結果是1537944187568

3、指定日期轉時間戳:

第一種方法:

var timestamp5 = Date.parse(new Date('2017/11/11 0:0:0'));//timestamp5結果是1510329600000

第二種方法:

 var timestamp6 = Date.parse(new Date(2017,10,11,0,0,0));//timestamp6結果是1510329600000

第三種方法:

var timestamp7 = Date.parse(new Date('2017-11-11 00:00:00'));//此方法不相容ios版本,
//如果想要用"2017-10-10"的字串格式,可以用正則轉換一下:
var timestamp7 = Date.parse(new Date(('2017-11-11 00:00:00').replace(/-/g, '/')));
//timestamp7結果是1510329600000

4、得到上個月最後一天最後一秒的時間戳:

    var date = new Date();
    date.setDate(0); //date.setDate(0)會讓日期變成前一個月的最後一天
    date.setHours(23);
    date.setMinutes(59);
    date.setSeconds(59);
    console.log(Date.parse(date));//今天是2018-09-26,所以得到的是2018-08-31 23:59:59的時間戳:1535731199000

二、時間戳轉時間字串

1、通過分別獲取時間的年月日進行拼接:

    function getTimeStr(timeStamp) {
        var now = new Date(timeStamp),
            y = now.getFullYear(),
            m = ("0" + (now.getMonth() + 1)).slice(-2),
            d = ("0" + now.getDate()).slice(-2);
        return y + "-" + m + "-" + d + " " + now.toTimeString().substr(0, 8);
    }
    console.log(getTimeStr(1510329600000));//輸出結果2017-11-11 00:00:00