如何在JavaScript中获取时间戳?
与Unix的时间戳类似的东西,即代表当前时间和日期的单个数字。无论是数字还是字符串。
如何在JavaScript中获取时间戳?
与Unix的时间戳类似的东西,即代表当前时间和日期的单个数字。无论是数字还是字符串。
+ new Date()
一个一元的运营商喜欢 plus
触发了 valueOf
方法 Date
对象,它返回时间戳(没有任何改动)。
细节:
几乎所有当前浏览器都可以使用 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
目的。但是,如果您不想要垫片和最大兼容性,则可以使用“旧”方法来获取时间戳 毫秒:
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());
我喜欢这个,因为它很小:
+new Date
我也喜欢这个,因为它与现代浏览器一样短,并且与现代浏览器兼容,超过500人投票表示它更好:
Date.now()
JavaScript使用自纪元以来的毫秒数,而大多数其他语言使用秒。您可以使用毫秒,但只要您传递一个值来表示PHP,PHP本机函数可能会失败。所以要确保我总是使用秒,而不是毫秒。
这将为您提供Unix时间戳(以秒为单位):
var unix = Math.round(+new Date()/1000);
这将为您提供自纪元以来的毫秒数(不是Unix时间戳):
var milliseconds = new Date().getTime();
var time = Date.now || function() {
return +new Date;
};
time();
我在这个答案中提供了多个解决方案和描述。如果有任何不清楚的地方,请随时提问
PS:遗憾的是有人将此合并到最佳答案而没有给予信任。
快速又脏的解决方案:
Date.now() /1000 |0
警告:它 威力 如果你这样做,在2038年休息并返回负数
|0
魔法。使用Math.floor()
而是那个时候
var timestamp = Number(new Date()); // current time as number
只是为了加起来,这是一个在Javascript中返回时间戳字符串的函数。 例如:下午15:06:38
function displayTime() {
var str = "";
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
var seconds = currentTime.getSeconds()
if (minutes < 10) {
minutes = "0" + minutes
}
if (seconds < 10) {
seconds = "0" + seconds
}
str += hours + ":" + minutes + ":" + seconds + " ";
if(hours > 11){
str += "PM"
} else {
str += "AM"
}
return str;
}
console.log(new Date().valueOf()); // returns the number of milliseconds since the epoch