我有本地系统时区Asia/Calcutta
,但当我在Yii Framework中使用date_default_timezone_get()
函数时,它会返回UTC
。
当我在test.php
文件中使用时,相同的函数会返回Asia/Calcutta
。
问题出在哪里?
检查文档:
http://www.yiiframework.com/doc-2.0/yii-base-application.html#getTimeZone%28%29-详细
它解释说:"如果没有在php.ini或应用程序配置中配置时区,默认情况下它将被设置为UTC。"
对于Yii 2,如果在php.ini
或应用程序配置中未配置时区,则默认情况下将其设置为UTC
,如yiibaseApplication
:
if (isset($config['timeZone'])) {
$this->setTimeZone($config['timeZone']);
unset($config['timeZone']);
} elseif (!ini_get('date.timezone')) {
$this->setTimeZone('UTC');
}
如何为Yii 2设置时区
您可以在config:中为Yii2应用程序设置默认时区
$config = [
'timeZone' => 'Asia/Calcutta',
'components' => [
// ...
Yii2应用程序>时区
date_default_timezone_get()
是php内置函数。yii2将时区设置为配置中设置的时区。Raw php不这样做,所以服务器的默认时区被提取