2012-10-29 25 views
1

我想在UTC時區保存在mysql中,並使用America/Sao_Paulo時區使用PHP讀取。時區:Mysql保存UTC和PHP讀取美國/ Sao_Paulo

我使用YII框架。 它不工作的屬性,我怎麼能這樣做?

main.php:

'timezone' => 'America/Sao_Paulo', 

'db'=>array(
... 
    'initSQLs'=>array("SET time_zone = '+00:00'"), 
... 
) 
+0

這些字段的外觀喜歡?你是否保存時間戳或其他東西? – Jon

+0

使用此配置,字段以UTC返回,不在正確的時區。 –

+0

你正在以這種錯誤的方式去做,但沒有更多的信息就不可能提供具體的建議。即使代碼工作正常,這也不是一個好的解決方案。 – Jon

回答

0

做到這一點在PHP代碼:

date_default_timezone_set('UTC'); 

現在PHP運行在UTC。這取決於你轉換到用戶當地時間,但你有一個共同點。

而在MySQL使用UTC_TIMESTAMP()爲您的DATETIME需要。無論MySQL設置如何,它都使用UTC時間,因此您不必再擔心。

+0

你可以將這行代碼放在應用程序的index.php文件中,或者放在配置文件中 – SnIpY