在php中获取以微秒或毫秒为单位的时间差


Getting time difference in micro or milli seconds in php

我正试图找到使用php执行某些函数所需的时间。我想要毫秒或微秒的精度,但我得到的是秒的差异。

代码如下:

<?php
$time_start = microtime(true);

usleep(2000000);
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "Did nothing in $time micro seconds'n";

?>

我得到的输出是2微秒,但根据程序应该是2000000微秒。

如果我保持睡眠(100),它将给我0的差异。

请帮我解决这个问题。

microsecond(true)的结果是一个浮点值,"以秒为单位表示当前时间"answers"精确到微秒"(http://php.net/microtime)。意思是逗号前的小数以秒为单位,逗号后的小数表示微秒。

因此,手册中的示例比您的变体更正确:

echo "Did nothing in $time seconds'n";

如果执行正好需要两秒钟,它将输出:

Did nothing in 2 seconds

如果执行耗时2秒500毫秒,它将输出:

Did nothing in 2.5 seconds

使用此代码

<?php
function secondsConverter($dateTime1,$dateTime2)
{
    $hour=abs($dateTime1['hour']-$dateTime2['hour'])*3600;
    $minutes=abs($dateTime1['minute']-$dateTime2['minute'])*60;
    $seconds=abs($dateTime1['second']-$dateTime2['second']);
   return $hour+$minutes+$seconds;
}
$dateTime1=date_parse("10:00:00.5");
$dateTime2=date_parse("11:00:00.5");
echo secondsConverter($dateTime1,$dateTime2);
?>