所以,我知道我可以使用 JavaScript 以毫秒为单位获取当前时间。但是,是否有可能以纳秒为单位获取当前时间?
有没有办法使用 JavaScript 以纳秒为单位获取当前时间?
IT技术
javascript
time
precision
time-precision
2021-03-11 05:45:50
6个回答
使用以下方法在大多数浏览器中实现微秒精度:
window.performance.now()
也可以看看:
基于 Jeffery 的回答,要获得绝对时间戳(如 OP 所希望的那样),代码将是:
var TS = window.performance.timing.navigationStart + window.performance.now();
结果以毫秒为单位,但据说是一个浮点值,“精确到千分之一毫秒”。
在像 Node.js 这样的服务器端环境中,您可以使用以下函数以纳秒为单位获取时间
function getNanoSecTime() {
var hrTime = process.hrtime();
return hrTime[0] * 1000000000 + hrTime[1];
}
也以类似的方式获得微秒:
function getMicSecTime() {
var hrTime = process.hrtime();
return hrTime[0] * 1000000 + parseInt(hrTime[1] / 1000);
}
不。您不可能在 JavaScript 层获得纳秒级精度。
如果您尝试对某些非常快速的操作进行基准测试,请将其放入一个循环中,使其运行数千次。
是的!试试优秀的 sazze 的纳米时间
let now = require('nano-time');
now(); // '1476742925219947761' (returns as string due to JS limitation)