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