2013-05-20 79 views
0

嗨,我有一個數據庫,其中包含訪問者瀏覽過的頁面以及他們登錄該頁面的時間。我試圖做的是花時間訪問者瀏覽頁面A,然後訪問者瀏覽頁面b的時間,然後從B中減去A,以瞭解訪問者停留在該頁面上的時間。從php減少時間

此刻,在我的例子中,差值是兩秒,但結果返回爲零,這是因爲2秒是結果向上舍入的低位數?

這是我的代碼。

$a = new DateTime('09:14:52'); 
$b = new DateTime('09:14:54'); 
$interval = $a->diff($b); 

echo $interval->format("%H"); 

感謝

+1

'的strtotime() - 的strtotime()'? –

+0

'%H'代表幾個小時,所以0對我來說看起來像是預期的結果? http://www.php.net/manual/en/dateinterval.format.php –

回答

0
<?php 
$a = strtotime('09:14:52'); 
$b = strtotime('09:14:54'); 
$interval = $b-$a; 

echo $interval. " Seconds"; 
?> 

和你自己的代碼是正確的也只是格式的標籤是一個HOUR不是爲SECOND。嘗試

<?php 

$a = new DateTime('09:14:52'); 
$b = new DateTime('09:14:54'); 
$interval = $a->diff($b); 

echo $interval->format("%s"); 

?> 
0

爲什麼不直接在日期上使用strtotime?

echo strtotime('09:14:54') - strtotime('09:14:52') . ' Seconds'; 

這將輸出

2 Seconds 
0
date_default_timezone_set('America/Los_Angeles');// you should define a default time zone 
$a = new DateTime('09:14:52'); 
$b = new DateTime('09:14:54'); 
$interval = $a->diff($b); 

echo $interval->format("%s");