gpt4 book ai didi

javascript - 如何在 Node.js 中获得微时间?

转载 作者:IT老高 更新时间:2023-10-28 21:48:47 28 4
gpt4 key购买 nike

如何在 Node.js 中获得最准确的时间戳?

ps 我的 Node.js 版本是 0.8.X 和 node-microtime extension对我不起作用(安装时崩溃)

最佳答案

在 Node.js 中,“高分辨率时间”通过 process.hrtime 提供.它返回一个数组,第一个元素以秒为单位,第二个元素为剩余的纳秒。

要以微秒为单位获取当前时间,请执行以下操作:

var hrTime = process.hrtime()
console.log(hrTime[0] * 1000000 + hrTime[1] / 1000)

(感谢 itaifrenkel 指出上述转换中的错误。)

在现代浏览器中,以微秒为精度的时间以 performance.now 的形式提供。见 https://developer.mozilla.org/en-US/docs/Web/API/Performance/now用于文档。

我已经为 Node.js 实现了这个函数,基于 process.hrtime,如果你只想计算程序中两点之间的时间差,这个函数比较难使用.见 http://npmjs.org/package/performance-now .根据规范,此函数以毫秒为单位报告时间,但它是一个具有亚毫秒精度的 float 。

在此模块的 2.0 版中,报告的毫秒数与 Node 进程启动时间相关(Date.now() - (process.uptime() * 1000))。如果您想要类似于 Date.now() 的时间戳,则需要将其添加到结果中。另请注意,您应该重新计算 Date.now() - (process.uptime() * 1000)Date.nowprocess.uptime 对于精确测量都非常不可靠。

要以微秒为单位获取当前时间,您可以使用类似的方法。

var loadTimeInMS = Date.now()
var performanceNow = require("performance-now")
console.log((loadTimeInMS + performanceNow()) * 1000)

另请参阅:Does JavaScript provide a high resolution timer?

关于javascript - 如何在 Node.js 中获得微时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11725691/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com