UTC タイムゾーンで mysql に保存し、America/Sao_Paulo タイムゾーンを使用して PHP で読み取りたいと思います。
YII フレームワークを使用しています。それは機能しないプロパティです。どうすればそれを行うことができますか?
main.php:
'timezone' => 'America/Sao_Paulo',
'db'=>array(
...
'initSQLs'=>array("SET time_zone = '+00:00'"),
...
)
mysql コンソールまたは GUI でこれを試してください。
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
次に、再度使用します。
SET time_zone='America/Sao_Paulo';
これで変更することもできます:
SET time_zone = 'Brazil/West';
ソース: http://blog.will.eti.br/2013/mysql-unknown-or-incorrect-time-zone-americasao_paulo/
PHP コードでこれを行います。
date_default_timezone_set('UTC');
現在、PHP は UTC で動作します。ユーザーの現地時間に変換するのはあなた次第ですが、共通点があります。
また、MySQLではニーズに合わせて使用UTC_TIMESTAMP()
しますDATETIME
。MySQL の設定に関係なく UTC 時間を使用するため、もう心配する必要はありません。