如何在 JavaScript 中获取时间戳?
2022-08-29 21:43:47
我想要一个表示当前日期和时间的单个数字,就像Unix时间戳一样。
要获取自 Unix 纪元以来的毫秒数,请调用 Date.now
:
Date.now()
或者,使用一元运算符调用 Date.prototype.valueOf
:+
+ new Date()
或者,直接调用值
:
new Date().valueOf()
若要支持 IE8 及更早版本(请参阅兼容性表),请为 以下各项创建填充程序:Date.now
if (!Date.now) {
Date.now = function() { return new Date().getTime(); }
}
或者,直接调用 getTime
:
new Date().getTime()
要获取自 Unix 纪元以来的秒数,即 Unix 时间戳:
Math.floor(Date.now() / 1000)
或者,按位或按底使用速度稍快,但也不太可读,并且将来可能会中断(请参阅说明 1、2):
Date.now() / 1000 | 0
var isPerformanceSupported = (
window.performance &&
window.performance.now &&
window.performance.timing &&
window.performance.timing.navigationStart
);
var timeStampInMs = (
isPerformanceSupported ?
window.performance.now() +
window.performance.timing.navigationStart :
Date.now()
);
console.log(timeStampInMs, Date.now());
我喜欢这个,因为它很小:
+new Date
我也喜欢这个,因为它同样短,并且与现代浏览器兼容,并且有超过500人投票认为它更好:
Date.now()