本文實例講述了JavaScript時間與時間戳的轉換操作。分享給大家供大家參考,具體如下:
一、時間轉時間戳:javascript獲得時間戳的方法有五種,都是通過實例化時間對象 new Date() 來進一步獲取當前的時間戳
1.
var timestamp1 = Date.parse(new Date());// 結果:1544151187000 不推薦這種辦法,毫秒級別的數值被轉化為000console.log(timestamp1);
2.
var timestamp2 = (new Date()).valueOf();// 結果:1544151187152 通過valueOf()函數返回指定對象的原始值獲得準確的時間戳值console.log(timestamp2);
3.
var timestamp3 = new Date().getTime();// 結果:1544151187152 ,通過原型方法直接獲得當前時間的毫秒值,準確console.log(timestamp3);
4.
var timetamp4 = Number(new Date()) ;//結果:1544151187152 ,將時間轉化為一個number類型的數值,即時間戳console.log(timetamp4);
5.ES5給Date提供了一種獲取時間戳的新特性
var timetamp5 = Date.now();//結果:1544151187152 console.log(timetamp5);
使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.VeVB.COm/code/HtmlJsRun測試,打印結果如下:

二、時間戳轉時間
var timestamp4 = new Date(1544151250236);//直接用 new Date(時間戳) 格式轉化獲得當前時間console.log(timestamp4);console.log(timestamp4.toLocaleDateString().replace(////g, "-") + " " + timestamp4.toTimeString().substr(0, 8)); //再利用拼接正則等手段轉化為yyyy-MM-dd hh:mm:ss 格式
使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.VeVB.COm/code/HtmlJsRun測試效果如下:

不過這樣轉換在某些瀏覽器上會出現不理想的效果,因為toLocaleDateString()方法是因瀏覽器而異的,比如 IE為2018年12月7日 10:54:10 格式 搜狗為Fri Dec 07 2018 10:54:10
可以通過分別獲取時間的年月日進行拼接,比如:
function getdate() { var now = new Date(), 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);}PS:這里再為大家推薦幾款時間及日期相關工具供大家參考使用:
在線日期/天數計算器:
http://tools.VeVB.COm/jisuanqi/date_jisuanqi
在線日期計算器/相差天數計算器:
http://tools.VeVB.COm/jisuanqi/datecalc
在線日期天數差計算器:
http://tools.VeVB.COm/jisuanqi/onlinedatejsq
Unix時間戳(timestamp)轉換工具:
http://tools.VeVB.COm/code/unixtime
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript時間與日期操作技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
新聞熱點
疑難解答