js將時間轉換為時間戳


具體時間戳怎么定義的我也不清楚,但百度百科中有這么一句:“時間戳是自 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()函數,你可以得到兩個日期的毫秒數,繼而轉化成秒數、分鍾、小時甚至天數,比較兩個日期的差值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM