How to get time in PHP with nanosecond precision?

2019-02-05 20:42发布

Is this even possible in PHP?

If not, what is the highest precision available?

3条回答
成全新的幸福
2楼-- · 2019-02-05 21:31

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. Unix ntp_gettime() has even higher resolution and returns jitter/wander/stability/shift/calibration data.

查看更多
ら.Afraid
3楼-- · 2019-02-05 21:33

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.

查看更多
劳资没心,怎么记你
4楼-- · 2019-02-05 21:37

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:

$nanotime = system('date +%s%N');

%s is the amount of seconds, appended by %N, which is the amount of nanoseconds.

查看更多
登录 后发表回答