js時間戳與日期格式的相互轉換
下面總結一下js中時間戳與日期格式的相互轉換:
1. 將時間戳轉換成日期格式:
1 function timestampToTime(timestamp) { 2 var date = new Date(timestamp * 1000);//時間戳為10位需*1000,時間戳為13位的話不需乘1000 3 var Y = date.getFullYear() + `-`; 4 var M = (date.getMonth()+1 < 10 ? `0`+(date.getMonth()+1) : date.getMonth()+1) + `-`; 5 var D = date.getDate() + ` `; 6 var h = date.getHours() + `:`; 7 var m = date.getMinutes() + `:`; 8 var s = date.getSeconds(); 9 return Y+M+D+h+m+s; 10 } 11 timestampToTime(1403058804); 12 console.log(timestampToTime(1403058804));//2014-06-18 10:33:24
注意:如果是Unix時間戳記得乘以1000。比如:PHP函式time()獲得的時間戳就要乘以1000。
2. 將日期格式轉換成時間戳:
1 var date = new Date(`2014-04-23 18:55:49:123`); 2 // 有三種方式獲取 3 var time1 = date.getTime(); 4 var time2 = date.valueOf(); 5 var time3 = Date.parse(date); 6 console.log(time1);//1398250549123 7 console.log(time2);//1398250549123 8 console.log(time3);//1398250549000
以上三種獲取方式的區別:
第一、第二種:會精確到毫秒
第三種:只能精確到秒,毫秒用000替代
以上三個輸出結果可觀察其區別
注意:獲取到的時間戳除以1000就可獲得Unix時間戳,就可傳值給後臺得到。
借鑑於:https://www.cnblogs.com/crf-Aaron/archive/2017/11/16/7844462.html