0

以下の2つの時間の時差を取得したい。時差の形式は、時、分、秒、マイクロ秒の順である必要があります。この形式でのみ最終的な回答が欲しいです。

$start = date(' H:i:s'.substr((string)microtime(), 1, 6));
//some code
$end = date(' H:i:s'.substr((string)microtime(), 1, 6));
//$interval = ???(end  time - start time)
4

1 に答える 1

0

これは、microtimeのマニュアルの例 #2 で回答されています。

例2 PHP 5 でのタイミングスクリプトの実行

<?php
$time_start = microtime(true);
  
// Sleep for a while
usleep(100);

$time_end = microtime(true);
$time = $time_end - $time_start;

echo "Did nothing in $time seconds\n";
?>

これをこの回答と組み合わせると、次のようになります。

$time_start = microtime(true);
   
// Do something here that takes time ...

$time_end = microtime(true);

$time = $time_end - $time_start;
$micro = sprintf("%06d", ($time - floor($time)) * 1000000);
$dateObj = new DateTime( date("Y-m-d H:i:s.$micro", $time) );

$interval = $dateObj->format("H:i:s.u");

時差が 1 分 23 秒 501293 マイクロ秒の場合、$differenceは次の文字列値になります。

00:01:23.501293

于 2016-02-09T08:27:06.240 に答える