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