JS獲取當前時間戳是很常用的功能,它可以用于記錄某個事件的發(fā)生時間,或者計算某個操作的耗時等等。在本文中,我們將從多個角度對JS獲取當前時間戳的方法進行詳細闡述,為讀者提供全面的參考。
一、new Date().getTime()
在JS中,可以使用new Date()方法獲取當前時間的Date對象,然后再調用getTime()方法獲取對應的時間戳。示例代碼如下:
const timeStamp = new Date().getTime();
console.log(timeStamp);
通過上述代碼,我們可以很方便地獲取當前的時間戳。不過需要注意的是,由于getTime()方法返回的是毫秒級別的時間戳,因此需要將其除以1000來得到秒級別的時間戳。
二、Date.now()
除了使用new Date()方法,還可以使用Date.now()方法來獲取當前時間的時間戳。它比new Date()方法更加簡潔。示例代碼如下:
const timeStamp = Date.now();
console.log(timeStamp);
由于Date.now()方法返回的也是毫秒級別的時間戳,因此同樣需要進行除以1000的操作來獲取秒級別的時間戳。
三、performance.now()
performance.now()方法是瀏覽器提供的性能監(jiān)測API,它的返回值為從頁面加載開始到調用該方法的時間間隔,單位為毫秒級別。因此,可以通過該方法的返回值來獲取當前的時間戳。示例代碼如下:
const timeStamp = performance.now();
console.log(timeStamp);
需要注意的是,performance.now()方法返回的時間戳沒有固定參照點,即該方法的返回值與系統(tǒng)時間和日期無關。
四、+new Date()
還可以使用+new Date()的方式來獲取當前時間戳。在JS中,將一個Date對象使用“+”號進行轉換,就可以得到對應的時間戳。示例代碼如下:
const timeStamp = +new Date();
console.log(timeStamp);
與其他方法相比,該方法的代碼量最少,同時也比較簡潔,因此一些高手經(jīng)常使用這種方式來獲取時間戳。
五、Math.floor(Date.now() / 1000)
在需要獲取秒級別的時間戳時,可以使用上述方法來實現(xiàn)。由于Date.now()返回的是毫秒級別的時間戳,因此需要將其除以1000并取整才能得到秒級別的時間戳。示例代碼如下:
const timeStamp = Math.floor(Date.now() / 1000);
console.log(timeStamp);
這種方法與前文介紹的方法類似,只是多了一個取整的操作,因此比較適用于需要處理秒級別時間戳的場景。
六、小結
在本文中,我們介紹了JS中獲取當前時間戳的5種方法,它們分別是new Date().getTime()、Date.now()、performance.now()、+new Date()、Math.floor(Date.now() / 1000)。除了performance.now()方法,其他方法都可以用于獲取毫秒級別以及秒級別的時間戳,開發(fā)者可以根據(jù)具體需求來選擇合適的方法。