2009-11-29 20 views
9

我使用下面的代碼將當前日期和時間到我的數據庫:爲什麼我的時間()在php中關閉了一個小時?

$current_date_time = time(); 
echo date('n/j/y g:ia',$current_date_time); 

它顯示爲09年11月29日上午12時38分,當它應該是09年11月29日11:38

時間提前了一個小時。我在太平洋時區,我的託管服務提供商位於猶他州山區時區。這可能是爲什麼它提前一個小時?

我該如何解決這個問題?我需要從時間中刪除一小時嗎?如果是這樣,我該怎麼做?還是有其他方式來解釋時區差異,以便它顯示在太平洋時區時間?

回答

21

您可以通過在PHP腳本中明確設置時區來解決此問題。你可以用date_default_timezone_set()做到這一點:

date_default_timezone_set('America/Los_Angeles'); 

這裏是list of PHP supported timezones

您可能還想嘗試使用調用date_default_timezone_get()的測試腳本來查看它實際設置的內容,以驗證這實際上是問題所在。

+0

我該怎麼做? – zeckdude 2009-11-29 07:50:33

+0

酷!非常感謝!雖然我需要date_default_timezone_set('America/Los_Angeles');因爲我在太平洋時區。 – zeckdude 2009-11-29 07:58:16

相關問題