在js项目中,有的时候,我们希望获取比Date.now()更高精度的时间戳。这篇文章简单介绍了js时间精度的来龙去脉,这里就【转载请注明来源】【转载请注明来源】不再赘述了。现在,我们来介绍一下在浏览器【版权所有】唐霜 www.tangshuang.net【转载请注明来源】中如何获取更高精度的时间戳。
在浏览器中有一个 performance转载请注明出处:www.tangshuang.net【原创内容,转载请注明出处】.now() 的接口,它表达了从页面加载原创内容,盗版必究。【访问 www.tangshuang.net 获取更多精彩内容】到执行该语句之间的时间间隔,是一个衡量值【本文受版权保护】【关注微信公众号:wwwtangshuangnet】。页面加载结束时间通过 performa【本文受版权保护】未经授权,禁止复制转载。nce.timing.navigatio【原创不易,请尊重版权】【原创不易,请尊重版权】nStart 获取,两个值相加,就可以得【作者:唐霜】【版权所有,侵权必究】到执行 performance.now(【原创内容,转载请注明出处】【作者:唐霜】) 的具体值,该值比 Date.now(未经授权,禁止复制转载。【未经授权禁止转载】) 精度要高。
【未经授权禁止转载】【本文受版权保护】【版权所有】唐霜 www.tangshuang.net
js中获取高精度时间戳
【本文受版权保护】本文作者:唐霜,转载请注明出处。你可以看到,它的结果和 Date.now本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshuangnet】() 结果是一致的,只是精度更高,经过四【未经授权禁止转载】未经授权,禁止复制转载。舍五入之后是相等的(忽略js执行时间带来著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。的微小误差)。
【版权所有,侵权必究】【关注微信公众号:wwwtangshuangnet】本文版权归作者所有,未经授权不得转载。但是,在js中有一个不好的事实,浮点数运【原创内容,转载请注明出处】本文作者:唐霜,转载请注明出处。算会带来不可预料的误差。
原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。转载请注明出处:www.tangshuang.net
单独执行 performance.now【未经授权禁止转载】【版权所有】唐霜 www.tangshuang.net() 可以得到精度更高(小数点后面9+位【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.net,纳秒)的时间戳,但是,两个值相加之后,【本文首发于唐霜的博客】【访问 www.tangshuang.net 获取更多精彩内容】就只剩下毫秒数值。虽然这个精度其实已经够【访问 www.tangshuang.net 获取更多精彩内容】【未经授权禁止转载】我们用了,但是我们如果非得要得到最高精度【本文受版权保护】【访问 www.tangshuang.net 获取更多精彩内容】的时间戳,可以先将两个数值字符串化,在利原创内容,盗版必究。未经授权,禁止复制转载。用我写的库来进行相加。
【原创不易,请尊重版权】转载请注明出处:www.tangshuang.net
