首页 > 解决方案 > Yii2:设置时区

问题描述

我在我的 Yii2 应用程序中设置了时区,如config/web.php中的文档所述:

'timeZone' => 'Europe/Berlin',

但是:这仅对 Yii2 有效,显然不适用于 PHP 函数,例如date(). PHP 时区设置保持不变,因此 PHP 和 Yii2 之间存在差异。

如何使 Yii2 时区成为根据 Yii2 配置中的时区设置设置 PHP 时区的领先时区?

编辑

时区是在应用程序组件中设置的\Yii::$app,而不是在格式化程序组件中。

我无法修改php.ini文件。

标签: phpyii2timezone

解决方案


我找到了一个没有修改的解决方案php.ini

根据 Yii2 设置进入并设置 PHP 时区./web/index.php./yii

$application = Yii::createObject('yii\web\Application', [$config->web()]);

// make PHP use the same timezone as Yii2
date_default_timezone_set($application->timeZone); 

$application->run();

请不要忘记以类似的方式修改控制台命令yii/ yii.bat


推荐阅读