如何在JavaScript中獲取當前時間戳

找出JavaScript為您提供的生成當前UNIX時間戳的方法


UNIX時間戳是一個整數,表示the number of seconds elapsed since January 1 1970

在包括Linux和macOS的類似UNIX的計算機上,您可以鍵入date +%s在終端中,並獲取UNIX時間戳:

$ date +%s
1524379940

可以通過調用以下命令獲取當前時間戳now()上的方法Date目的:

Date.now()

您可以通過調用獲得相同的值

new Date().getTime()

or

new Date().valueOf()

注意:IE8及以下版本沒有now()方法開啟Date。如果您需要支持IE8及以下版本,請尋找一個polyfillnew Date().getTime()如果Date.now是未定義的(因為那是polyfill要做的)

JavaScript中的時間戳表示為毫秒

要獲得以秒為單位的時間戳,請使用以下命令進行轉換:

Math.floor(Date.now() / 1000)

注意:一些教程使用Math.round(),但即使秒未完全完成,也將接近下一秒。

或者,可讀性較差:

~~(Date.now() / 1000)

我看過使用教程

+new Date

這看起來可能很怪異,但這是完全正確的JavaScript代碼。這一元運算符+自動呼叫valueOf()分配給任何對象的方法,該方法返回時間戳(以毫秒為單位)。這段代碼的問題是,您實例化了一個新的Date對象,該對象立即被丟棄。

要從時間戳生成日期,請使用new Date(<timestamp>)但請確保您傳遞一個數字(字符串將為您提供“無效日期”結果-使用parseInt()懷疑)

免費下載我的JavaScript初學者手冊


更多js教程: