在PHP中获取微观或毫秒的时差

时间:2014-10-20 05:42:32

标签: php timestamp

我试图找到使用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差异。

请帮我解决一下。

2 个答案:

答案 0 :(得分:2)

microsecond(true)的结果是浮点数,&#34;表示以秒为单位的当前时间&#34;并且&#34;精确到最接近的微秒&#34; (http://php.net/microtime)。逗号前的小数位数以秒为单位,逗号后面的小数位代表微秒。

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

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

如果执行只需两秒钟,它将输出:

Did nothing in 2 seconds

如果执行时间为2秒500毫秒,则输出:

Did nothing in 2.5 seconds

答案 1 :(得分:0)

使用此代码

<?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);

?>