如何获取JavaScript时间戳?
与Unix时间戳类似,即代表当前时间和日期的单个数字。可以是数字或字符串。
Short & Snazzy:
+ new Date()
一元运算符(例如)plus会触发物件中的valueOf方法,Date并传回时间戳记(不做任何变更)。
plus
valueOf
Date
Details:
在几乎所有当前的浏览器上,您都可以使用Date.now()以毫秒为单位的UTC时间戳; IE8和更早版本是一个明显的例外)。
Date.now()
但是,您可以轻松地对此进行填充:
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());