2014-10-20 274 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); 

?> 
相關問題