在微秒或毫秒中获取时间差在PHP中
问题描述:
我想找到执行一些使用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";
?>
输出I得到的是2微秒但应根据程序是2000000微秒。
如果我一直睡着(100),它会给我0的差异。
请帮我解决这个问题。
答
microsecond(true)
的结果是一个浮点“,它表示当前时间(以秒为单位)”和“精确到最近的微秒”(http://php.net/microtime)。逗号前的含义以秒为单位,逗号后的小数表示微秒。
因此,手册中的例子是比你的变种更正确:
echo "Did nothing in $time seconds\n";
如果执行到底需要两秒钟将输出:
Did nothing in 2 seconds
如果执行需要两秒钟, 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);
?>