一尘不染

如何获得JavaScript时间戳?

javascript

如何获取JavaScript时间戳?

与Unix时间戳类似,即代表当前时间和日期的单个数字。可以是数字或字符串。


阅读 393

收藏
2020-04-25

共1个答案

一尘不染

Short & Snazzy:

+ new Date()

一元运算符(例如)plus会触发物件中的valueOf方法,Date并传回时间戳记(不做任何变更)。

Details:

在几乎所有当前的浏览器上,您都可以使用Date.now()以毫秒为单位的UTC时间戳;
IE8和更早版本是一个明显的例外)。

但是,您可以轻松地对此进行填充:

if (!Date.now) {
    Date.now = function() { return new Date().getTime(); }
}

要获得以秒为单位的时间戳,可以使用:

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

或者,您可以使用:

Date.now() / 1000 | 0

我建议使用Date.now()(带有兼容性垫片)。它稍微好一点,因为它更短且不会创建新Date对象。但是,如果您不希望使用Shim和最大的兼容性,则可以使用“旧”方法来获取时间戳(以毫秒为单位):

new Date().getTime()

然后您可以将其转换为秒,如下所示:

Math.round(new Date().getTime()/1000)

您还可以使用valueOf上面显示的方法:

new Date().valueOf()

时间戳(毫秒)

var timeStampInMs = window.performance && window.performance.now && window.performance.timing && window.performance.timing.navigationStart ? window.performance.now() + window.performance.timing.navigationStart : Date.now();



console.log(timeStampInMs, Date.now());
2020-04-25