具體時間戳怎么定義的我也不清楚,但百度百科中有這么一句:“時間戳是自 1970 年 1 月 1 日(00:00:00 GMT)至當前時間的總秒數”。
按這個定義,編程語言中倒是有一種類似的函數,getTime(),但這個函數返回的是自1970年1月1日到當前時間的總 毫秒數 ,而不是總 秒數。
在js中,將一個字符轉化成Date型也不是什么難事:
var str = '2013-08-30'; // 日期字符串
str = str.replace(/-/g,'/'); // 將-替換成/,因為下面這個構造函數只支持/分隔的日期字符串
var date = new Date(str); // 構造一個日期型數據,值為傳入的字符串
在上面,new Date(str)構造了一個日期,參數str至少要提供年月日三部分,也就是形如“2013/03/08”的字符串,不能是"2013/03",否則將得到一個NaN。此時構造出來的時間是:2013/03/08 00:00:00。同時你還可以傳入小時、分鍾和秒數,但不能只傳入小時,比如“2013/03/08 17”,這樣的參數同樣會得到一個NaN。參數可以是“2013/03/08 17:20”或者“2013/03/08 17:20:05”,這樣都可以得到正確的時間,其中如果秒數沒給出,則默認為0。
此時得到的是日期型數據,如果要得到上面所謂的時間戳,可以這樣:
var time = date.getTime();
這樣得到的是一個數值,表示的是從1970年1月1日0點0分0秒到date那一刻的毫秒數,如果把這個數字除以1000,就得到了秒數,同樣繼續除以60,得到分鍾,再除以60得到小時等等。
提示,通過這個getTime()函數,你可以得到兩個日期的毫秒數,繼而轉化成秒數、分鍾、小時甚至天數,比較兩個日期的差值。