我在我的Yii2应用程序中设置了时区,如配置/web.php中的docs所述:
'timeZone' => 'Europe/Berlin',但是:这只对Yii2有效,显然对date()这样的函数无效。PHP时区设置保持不变,因此PHP和Yii2之间存在差异。
如何使PHP时区成为前导时区,根据Yii2配置中的时区设置设置Yii2时区?
编辑
时区在应用程序组件\Yii::$app中设置,而不是在格式化程序组件中设置。
我无法修改php.ini文件。
发布于 2019-02-26 17:31:41
我找到了一个不修改php.ini的解决方案
在./web/index.php和./yii中,根据Yii2设置设置PHP时区:
$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。
发布于 2019-02-08 17:12:34
您可以在格式化程序组件中设置时区。这意味着时区将仅用于输出带有格式化程序的日期。如果你想设置全局时区,你应该在Application config中设置它。例如:
[
'id' => 'basic',
'timeZone' => 'Europe/Berlin',
// other parameters of the application
]发布于 2021-05-06 12:37:57
common/config/main.php
'timeZone‘=>’亚洲/塔什干‘,
https://stackoverflow.com/questions/54588949
复制相似问题