位置: 编程技术 - 正文

nodejs如何获取时间戳与时间差(node 获取当前时间)

编辑:rootadmin

推荐整理分享nodejs如何获取时间戳与时间差(node 获取当前时间),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js获取文件信息的方法是什么,nodejs获取当前路径,获取nodejs命令行信息,nodejs获取时间,node获取时间,nodejs获取文件信息的方法,nodejs获取当前时间,nodejs获取当前时间,内容如对您有帮助,希望把文章链接给更多的朋友!

Nodejs中获取时间戳的方法有很多种,例如:

1.new Date().getTime()

2.Date.now()

3.process.uptime()

4.process.hrtime()

平时想获取一个时间戳的话,用这些方法都可以,那么这些方法有什么区别呢?

new Date().getTime()和Date.now()

这些方法是通过node运行环境的系统时间毫秒数, +new Date() 写法的效果和 new Date().getTime() 效果相同。

在需要频繁使用时间戳的场景中,需要关注方法性能,这几种方法中 Date.now() 的性能最佳,可以通过一点代码来测试:

输出结果:

【new Date().getTime()】interval:

【+new Date】interval:

【Date.now()】interval:

如果只是获取时间戳,那么使用Date.now()是最佳的做法,但是如果要计算时间差,这几个方法就会有点问题:运行环境的系统时间有时候是会有微小回调的,这样得到的时间差就不精确了,有时候会引发某些BUG。

nodejs如何获取时间戳与时间差(node 获取当前时间)

process.hrtime()

这种方式是根据任意取的一个过去的时间点,距离现在的时间来获取一个精确的时间戳对象:[秒, 纳秒]

这种方式和系统时间无关,因此不会受到系统时钟漂移的影响,用来计算时间差的时候就不会有BUG了。

但是,万事总有但是 - -

如果用在一个被频繁调用的地方呢?

【hrTime】interval: 没有记错的话,相同的创建次数,上面的Date.now()可是ms左右啊!

process.hrtime()也太慢了有木有!!!

原来nodejs处理高精度时间的时候,计算比较复杂,占用系统资源多,速度慢,那么在高频应用的地方就不适合用这个方法了。下面请看process.uptime()

process.uptime()

此函数是通过nodejs启动运行时间来得到一个秒数时间戳,精确到毫秒:

process.uptime

输入:6.

此函数以node启动时间为准,同样也不会受系统时钟漂移影响,适合用来计算时间差。

那么多次调用性能如何呢?

输出:【process.uptime()】interval:

和process.hrtime()相比性能就搞出很多了~

不用算那么精确,就是快!

那么需要高频计算时间差的场合,就是你了!

本文链接地址:https://www.jiuchutong.com/biancheng/370762.html 转载请保留说明!

上一篇:NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法(h5 nodejs)

下一篇:浅析Node.js实现HTTP文件下载(node.js gui)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络