【JS】時間與時間戳的轉換方法
阿新 • • 發佈:2018-12-12
一、時間轉時間戳:
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