2014-10-20 231 views
0

我想找到执行一些使用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的差异。

请帮我解决这个问题。

回答

2

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

?> 
相关问题