Yii2: установка часового пояса - PullRequest
0 голосов
/ 08 февраля 2019

Я установил часовой пояс в своем приложении Yii2, как указано в документах в config / web.php:

'timeZone' => 'Europe/Berlin',

Но: это действительно только для Yii2 и, очевидно, не дляPHP функции, например date().Настройки часового пояса PHP остаются неизменными, поэтому есть разница между PHP и Yii2.

Как сделать часовой пояс Yii2 ведущим часовым поясом, который устанавливает часовой пояс PHP в соответствии с настройками часового пояса в конфигурации Yii2?

РЕДАКТИРОВАТЬ

Часовой пояс устанавливается в приложениикомпонент \Yii::$app, отсутствует в компоненте форматирования.

Я не могу изменить файл php.ini.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Я нашел решение без изменения php.ini:

В ./web/index.php и ./yii установить часовой пояс PHP в соответствии с настройками Yii2:

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

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

$application->run();
0 голосов
/ 08 февраля 2019

Вы устанавливаете часовой пояс в компоненте Formatter.Это означает, что часовой пояс будет использоваться только для вывода даты с помощью Formatter.Если вы хотите установить глобальный часовой пояс, вы должны установить его в Application config .Например:

[
    'id' => 'basic',
    'timeZone' => 'Europe/Berlin',
    // other parameters of the application
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...