【发布时间】:2016-04-01 12:22:09
【问题描述】:
我有我的本地系统时区Asia/Calcutta,但是当我在 Yii 框架中使用date_default_timezone_get() 函数时,它返回给我UTC。
当我在我的test.php 文件中使用时,相同的函数返回我Asia/Calcutta。
有什么问题?
【问题讨论】:
-
@skypjack 感谢您让我的问题更清楚......!
我有我的本地系统时区Asia/Calcutta,但是当我在 Yii 框架中使用date_default_timezone_get() 函数时,它返回给我UTC。
当我在我的test.php 文件中使用时,相同的函数返回我Asia/Calcutta。
有什么问题?
【问题讨论】:
查看文档:
http://www.yiiframework.com/doc-2.0/yii-base-application.html#getTimeZone%28%29-detail
它解释了“如果在php.ini或应用程序配置中没有配置时区,则默认设置为UTC。”
【讨论】:
对于Yii 2,如果php.ini或应用程序配置中没有配置时区,则默认设置为UTC,如yii\base\Application:
if (isset($config['timeZone'])) {
$this->setTimeZone($config['timeZone']);
unset($config['timeZone']);
} elseif (!ini_get('date.timezone')) {
$this->setTimeZone('UTC');
}
您可以在配置中为 Yii2 应用程序设置默认时区:
$config = [
'timeZone' => 'Asia/Calcutta',
'components' => [
// ...
【讨论】:
date_default_timezone_get()
是一个php内置函数。 yii2 将时区设置为配置中设置的时区。原始 php 不会,因此正在获取服务器的默认时区
【讨论】: