一、時間戳
簡單講,unix時間戳就是從1970-01-01開始所經過的秒數,什麼時候獲取時間戳,就是到那個時間點所經歷的秒數。
二、j**ascript獲取時間戳
根據時間戳的定義,可以使用j**ascript中的幾個方法來獲取系統當前的時間戳:
1、gettime()
w3c school的解釋如下:
根據上面的定義,我們可以獲取系統當前的時間戳:
var timestamp1 = newdate().gettime();
console.info(timestamp1);
輸出:1524662952173
根據上面的解釋,parse方法返回的是指定日期和時間到2023年1月1日的毫秒數,所以只要將日期指定為系統當前時間,就能獲取系統當前的時間戳。
var timestamp2 = date.parse(new date());console.info(timestamp2);
輸出:1524662952000
該方法返回的是date物件的原始值,且和gettime返回相同的值,所以只要date物件為系統當前時間,就能獲取系統當前的時間戳
var timesta*** = (new date()).valueof();以上是獲取系統當前時間的時間戳,如果要獲取指定時間的時間戳,只需要設定指定日期,然後用對應的日期物件進行操作即可,不再贅述。console.info(timesta***);
輸出:1524662952176
從上面的結論可以看出,通過parse方法獲取的時間戳後三位都是0,如果用更多的資料測試,都會發現該方法返回的時間戳沒有其他兩種方法精確,
因為其後三位始終是0.
二、將時間戳轉化為日期
上面介紹的是獲取時間戳,也就是日期轉時間戳的方法,再來學習一下時間戳轉日期的方法。
轉成日期的方法也很簡單,只要將時間戳傳給date即可,然後格式化成想要的格式,如yyyy-mm-dd hh:mm:ss
值得注意的一點是,在轉日期之前要先判斷時間戳是否是13位,如果不是13位,需要將不夠的幾位在低位用0代替,
例如:時間戳是1234567891 則在傳給date()之前要轉成1234567891000
/**為了驗證上面的結論,將補0部分去掉,結果如下:* 將unix時間戳轉化成日期格式
*/function timestamp2date(timestamp)
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;
} var ts = timestamp2date(1234567891);
console.info(ts);
輸出結果:2009-02-14 7:31:31
var ts = timestamp2date(1234567891000);
console.info(ts);
輸出結果:2009-02-14 7:31:31
/*以上就是j**ascript中日期和時間戳的轉化,如有錯誤之處,感謝指正!* * 將unix時間戳轉化成日期格式
*/function
timestamp2date(timestamp)
*/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;
}var ts = timestamp2date(1234567891);
console.info(ts);
輸出結果:1970-01-15 14:56:7
var ts = timestamp2date(1234567891000);
console.info(ts);
輸出結果:2009-02-14 7:31:31
專案中的快取那些事兒
在高併發請求時,為何我們頻繁提到快取技術?最直接的原因是,目前磁碟io和網路io相對於記憶體io的成百上千倍的效能劣勢。做個簡單計算,如果我們需要某個資料,該資料從資料庫磁碟讀出來需要0.1s,從交換機傳過來需要0.05s,那麼每個請求完成最少0.15s 當然,事實上磁碟和網路io也沒有這麼慢,這裡...
sql那些事 時間處理的一攬子事
能用sql解決的事,絕不碰程式 為每一條記錄新增create time和update time是非常明智的選擇,分別表示當前記錄第一次新增和最後一次更改的時間戳。如果你不知道sql語句可以自動完成這個事兒,那麼就不可避免要在程式中手動去設定這兩個欄位的值。create time datetime d...
NSDate與時間戳的那點事
對於專案中常常使用的時間來說,通過時間戳的形式進行資料的操作能帶來極大的方便,以下就時間戳的生成和轉換通過demo的形式進行解說 宣告乙個時間型別的變數 獲取當前的時間 以下的第乙個方法不提倡 nsdate now1 nsdate alloc initwithtimeintervalsincenow...