2014-02-15 32 views
1

代碼是我的PHP或Mysqli時間/時​​間戳似乎出來了?

$la=time()-$row['laston']; 
$unit="secs"; 
if($la >= 60) 
{ 
$la=(int) ($la/60); 
$unit="mins"; 
} 
if($la >= 60) 
{ 
$la=(int) ($la/60); 
$unit="hours"; 
if($la >= 24) 
{ 
$la=(int) ($la/24); 
$unit="days"; 
} 
print "<li><a class=\"button\" href=\"user.php?p={$row['uid']]'}\">{$row['display_name']} ~($la $unit)</a></li>"; 

$row['laston'];存儲,如:1392490566

我的問題是它顯示這樣的:

用戶1〜(-58secs)當我刷新頁面,我會期望它是0-2秒而不是負值?

有人能幫我理解這是什麼原因造成的嗎?

並會改變$la=time()-$row['laston'];$la=time()-$row['laston']+58;是一個適當的修復?

+0

什麼'的var_dump($行[ 'laston']);'輸出? –

+0

@AmalMurali'用戶1〜(-57秒) 字符串(10)「1392491868」'(我把它添加到行後) – user3147145

回答

1

試試這個:

$la = time() - $row['laston']; 

if($la > 0) { 
    $newLa = $la/24; 
    $unit = "days"; 
} if($la < 84600) { 
    $newLa = $la/60; 
    $unit = "hours"; 
} if($la < 3600) { 
    $newLa = $la/60; 
    $unit = "mins"; 
} if($la < 60) { 
    $newLa = $la; 
    $unit = "secs"; 
} 

echo round($newLa, 2) . ' ' . $unit;