Matt
Matt

Reputation: 11327

How to get time in PHP with nanosecond precision?

Is this even possible in PHP?

If not, what is the highest precision available?

Upvotes: 33

Views: 36690

Answers (3)

Anatol Belski
Anatol Belski

Reputation: 690

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.

Upvotes: 19

Jacob Relkin
Jacob Relkin

Reputation: 163268

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.

Upvotes: 45

bcosca
bcosca

Reputation: 17555

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.

Upvotes: 14

Related Questions