如何在 PHP 中获取纳秒精度的时间?
这在 PHP 中可能吗?
如果不是,可用的最高精度是多少?
Is this even possible in PHP?
If not, what is the highest precision available?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
这在 PHP 中可能吗?
如果不是,可用的最高精度是多少?
Is this even possible in PHP?
If not, what is the highest precision available?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
microtime
函数就是您正在寻找的。PHP 不提供精度高于微秒的函数。
您可以使用
system
函数来获取该值如果您运行的是 Linux,则直接从计算机中获取:%s
是秒数,附加%N
,这是纳秒量。The
microtime
function is what you're looking for.PHP does not supply a function that has higher precision than microseconds.
You can use the
system
function to get the value straight from the machine if you are running Linux:%s
is the amount of seconds, appended by%N
, which is the amount of nanoseconds.现在有了这个扩展,纳秒计时是可能的 http://pecl.php.net/hrtime 。然而,它是一个秒表类,旨在适应不同平台上尽可能高的分辨率。
从 PHP 7.3 开始,核心中还有一个跨平台
hrtime()
函数 http://php.net/manual/en/function.hrtime.php。Now with this extension it's nanosecond timing is possible http://pecl.php.net/hrtime . Yet it is a stopwatch class implemented to suite the highest possible resolution on different platforms.
As of PHP 7.3 there's also a crossplatform
hrtime()
function in the core http://php.net/manual/en/function.hrtime.php.microtime() 是使用 PHP 词汇的最高精度。如果需要纳秒精度,您还可以使用 Unix
date
进行系统调用并指定%N
格式。 Unixntp_gettime()
具有更高的分辨率并返回抖动/漂移/稳定性/偏移/校准数据。microtime() is the highest precision using PHP's vocabulary. You can also make a system call by using Unix
date
and specify%N
format if you need nanosecond accuracy. Unixntp_gettime()
has even higher resolution and returns jitter/wander/stability/shift/calibration data.