我试图找到使用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差异。
请帮我解决一下。
答案 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);
?>