web-dev-qa-db-ja.com

PHPでナノ秒の精度で時間を取得する方法は?

これはPHPでも可能ですか?

そうでない場合、利用可能な最高の精度は何ですか?

21
Matt

microtime 関数はあなたが探しているものです。

PHPは、マイクロ秒よりも高い精度の関数を提供していません。

Linuxを実行している場合は、 system 関数を使用して、マシンから直接値を取得できます。

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

%sは秒数で、%N、これはナノ秒の量です。

37
Jacob Relkin

microtime() は、PHPの語彙を使用した最高の精度です。 Unix dateを使用してシステムコールを行い、ナノ秒の精度が必要な場合は_%N_形式を指定することもできます。 Unix ntp_gettime()はさらに高い解像度を持ち、ジッター/ワンダー/安定性/シフト/キャリブレーションデータを返します。

12
bcosca

この拡張機能を使用すると、ナノ秒のタイミングが可能になります http://pecl.php.net/hrtime 。それでも、これは、さまざまなプラットフォームで可能な限り最高の解像度に適合するように実装されたストップウォッチクラスです。

PHP 7.3の時点で、コアにはクロスプラットフォームのhrtime()関数もあります http://php.net/manual/en/function.hrtime.php

8
Anatol Belski