2

我想在 UTC 时区保存在 mysql 中,并使用 America/Sao_Paulo 时区使用 PHP 阅读。

我使用 YII 框架。它不工作的财产,我怎么能这样做?

主.php:

'timezone' => 'America/Sao_Paulo',

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

2 回答 2

1

在你的 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/

于 2013-07-19T23:36:29.753 回答
0

在您的 PHP 代码中执行此操作:

date_default_timezone_set('UTC');

现在 PHP 在 UTC 中运行。转换为用户当地时间取决于您,但您有一个共同点。

并在 MySQLUTC_TIMESTAMP()满足您的DATETIME需求。无论 MySQL 设置如何,它都使用 UTC 时间,因此您无需再担心。

于 2012-10-29T12:28:11.213 回答