Как получить время в PHP с точностью до наносекунды? - PullRequest
18 голосов
/ 17 ноября 2010

Возможно ли это даже в PHP?

Если нет, то какая максимальная точность доступна?

Ответы [ 3 ]

36 голосов
/ 17 ноября 2010

Функция microtime - это то, что вам нужно.

PHP не предоставляет функцию, которая имеет более высокую точность, чем микросекунды.

Вы можете использовать функцию system, чтобы получить значение прямо из машины, если вы работаете в Linux:

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

%s - количество секунд, к которому добавляется %N, то есть количество наносекунд

11 голосов
/ 17 ноября 2010

microtime () - высочайшая точность при использовании словаря PHP. Вы также можете сделать системный вызов с помощью Unix date и указать формат %N, если вам нужна точность наносекунды. Unix ntp_gettime() имеет еще более высокое разрешение и возвращает данные дрожания / отклонения / стабильности / сдвига / калибровки.

3 голосов
/ 18 мая 2014

Теперь с этим расширением возможна наносекундная синхронизация http://pecl.php.net/hrtime. Тем не менее, это класс секундомера, реализованный для обеспечения максимально возможного разрешения на разных платформах.

Начиная с PHP 7.3, в ядре есть также кроссплатформенная hrtime() функция http://php.net/manual/en/function.hrtime.php.

...