Php Yii2:设置时区

Php Yii2:设置时区,php,yii2,timezone,Php,Yii2,Timezone,我在Yii2应用程序中设置时区,如config/web.php中所述: 'timeZone' => 'Europe/Berlin', 但是:这只对Yii2有效,显然不适用于PHP函数,例如date()。 PHP时区设置保持不变,因此PHP和Yi2之间存在差异 如何使Yii2时区成为根据Yii2配置中的时区设置设置PHP时区的主要时区 编辑 时区是在应用程序组件\Yii::$app中设置的,而不是在格式化程序组件中设置的 我无法修改php.ini文件。您可以在格式化程序组件中设置时区。这意

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

'timeZone' => 'Europe/Berlin',
但是:这只对Yii2有效,显然不适用于PHP函数,例如
date()
。 PHP时区设置保持不变,因此PHP和Yi2之间存在差异

如何使Yii2时区成为根据Yii2配置中的时区设置设置PHP时区的主要时区

编辑

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


我无法修改php.ini文件。

您可以在格式化程序组件中设置时区。这意味着时区将仅用于使用格式化程序输出日期。如果要设置全局时区,应将其设置为。例如:

[
    'id' => 'basic',
    'timeZone' => 'Europe/Berlin',
    // other parameters of the application
]

您可以在格式化程序组件中设置时区。这意味着时区将仅用于使用格式化程序输出日期。如果要设置全局时区,应将其设置为。例如:

[
    'id' => 'basic',
    'timeZone' => 'Europe/Berlin',
    // other parameters of the application
]

我找到了一个没有修改
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

我找到了一个解决方案,但没有修改
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

common/config/main.php

'时区'=>'亚洲/塔什干',

common/config/main.php


'timeZone'=>'Asia/Tashkent',

我认为您必须修改您的php.ini是否可以
date\u default\u timeZone\u set()
帮助?如何设置?
timeZone
属性是设置PHP运行时默认时区的另一种方法。通过配置此属性,您实际上是在调用PHP函数
date\u default\u timezone\u set()
。您的系统上是否安装了时区数据库中的最新信息?。有关更新时区数据库的详细信息,请参阅。此外,在格式化日期和时间值时,Yii会将其转换为目标时区。被格式化的值假定为UTC,除非明确给出时区或您已经配置。我认为您必须修改php.ini是否可以
date\u default\u timezone\u set()
帮助?如何设置?
timeZone
属性是设置PHP运行时默认时区的另一种方法。通过配置此属性,您实际上是在调用PHP函数
date\u default\u timezone\u set()
。您的系统上是否安装了时区数据库中的最新信息?。有关更新时区数据库的详细信息,请参阅。此外,在格式化日期和时间值时,Yii会将其转换为目标时区。除非明确给出时区或您已经进行了配置,否则将假定正在格式化的值为
UTC
。这是我正在做的。我对问题进行了编辑,以使其更清楚。对不起,这是一个误导性的链接。但是这对PHP
date()
…@WeSee你有什么PHP版本?我使用PHP7.2。12@WeSee你能附上一个日期生成代码的例子吗?这是我正在做的。我对问题进行了编辑,以使其更清楚。对不起,这是一个误导性的链接。但是这对PHP
date()
…@WeSee你有什么PHP版本?我使用PHP7.2。12@WeSee能否附上日期生成代码的示例?