2011-09-06 85 views
-1

我有一個php腳本,收集數據與當前的時間戳。Php顯示錯誤的時間

在MySQL數據庫的時間戳正確(給出正確的時間和日期),雖然在前端它顯示:在5 小時

生成該輸出如下的腳本:

function plural($num) { 
    if ($num != 1) 
    return "s"; 
} 

function relative_date($date) { 
    $diff = time() - strtotime($date); 
    if ($diff>0) { 
     if ($diff<60) 
      return $diff . " second" . plural($diff) . " ago"; 
     $diff = round($diff/60); 
     if ($diff<60) 
      return $diff . " minute" . plural($diff) . " ago"; 
     $diff = round($diff/60); 
     if ($diff<24) 
      return $diff . " hour" . plural($diff) . " ago"; 
     $diff = round($diff/24); 
     if ($diff<7) 
      return $diff . " day" . plural($diff) . " ago"; 
     $diff = round($diff/7); 
     if ($diff<4) 
      return $diff . " week" . plural($diff) . " ago"; 
     return date("M j, Y", strtotime($date)); 
    } else { 
     if ($diff>-120) 
      return "Right now"; 
     if ($diff>-60) 
      return "in " . -$diff . " second" . plural($diff); 
     $diff = round($diff/60); 
     if ($diff>-60) 
      return "in " . -$diff . " minute" . plural($diff); 
     $diff = round($diff/60); 
     if ($diff>-24) 
      return "in " . -$diff . " hour" . plural($diff); 
     $diff = round($diff/24); 
     if ($diff>-7) 
      return "in " . -$diff . " day" . plural($diff); 
     $diff = round($diff/7); 
     if ($diff>-4) 
      return "in " . -$diff . " week" . plural($diff); 
     return date("M j, Y", strtotime($date)); 
    } 
} 

我怎樣才能讓我知道正確的時間?

+0

也許你可以清理你正在嘗試什麼,出了什麼問題,你收到了什麼錯誤信息等。 –

+0

你還可以包含$ date的值嗎? – ajreal

+2

修復這類問題的常用方法稱爲調試。使用示例值並查看它是如何逐步處理的,直到找到問題。 –

回答

2

我不知道是什麼問題,可能是時區設置。檢查他們在你的PHP.ini和你的代碼

+0

感謝您的回答!很有幫助。但是,我發現php.ini設置設置爲歐洲/柏林。 –

+0

@JohnBernard:正如我所說的,錯誤的時區。所以我的回答是正確的,畢竟;) – genesis