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