問題背景:想把一個時間直接轉成字符串格式
通過查api發現有個toLocaleString(),根據本地時間格式,把 Date 對象轉換為字符串
new Date().toLocaleString(); //"2018/5/31 下午1:43:06"
但是默認是12小時制,會帶這種上午下午,所以肯定不需要,繼續查,發現可以配置
var ss = new Date().getTime() + 3600000; (new Date(ss).toLocaleString('chinese',{hour12:false})).replace(/\//g,'-'); //"2018-5-31 14:40:32"
這樣就轉成我需要的格式啦。
JS的日期對象方法,可以看下:JavaScript Date 對象
1、js獲取當前時間戳的方法
var timestamp1 = Date.parse(new Date()); var timestamp2 = (new Date()).valueOf(); var timestamp3 = new Date().getTime(); console.log(timestamp1,timestamp2,timestamp3) //VM140:4 1527745698000 1527745698616 1527745698616
第一種:獲取的時間戳是精度到秒級,把毫秒改成000顯示;
第二種和第三種是精度到毫秒級,獲取了當前毫秒的時間戳。
var newDay1 = new Date(); var newDay2 = Date.parse(new Date()); var newDay3 = +new Date(); console.log(Number(newDay1),newDay2,newDay3) //VM160:4 1527745994726 1527745994000 1527745994726
第一種和第三種,使用數字對象的方法返回的時間戳,精確到了毫秒,
而第二種日期對象的Date.parse()方法只精確到了秒,后三位都是用的0填充的,所以個人推薦第一種
2、將時間戳轉換成Date對象
new Date(1527745994726) //Thu May 31 2018 13:53:14 GMT+0800 (中國標准時間)