Php Yii2以UTC格式获取时间
有没有一种简单的方法可以在不更新配置文件的情况下获取UTC时间戳 我可以使用phpPhp Yii2以UTC格式获取时间,php,yii2,timestamp,utc,Php,Yii2,Timestamp,Utc,有没有一种简单的方法可以在不更新配置文件的情况下获取UTC时间戳 我可以使用phpdate\u default\u timezone\u set来实现这一点。 我需要在Yii2中使用此选项,new\DateTimeZone('UTC')似乎不起作用 通常最方便的处理方法是使用组件。如果所有日期都在同一时区,则使用配置中的设置仅在一个位置进行配置(在您的情况下,您可以跳过此设置,因为UTC是默认值): $date = new \DateTimeZone(\Yii::$app->timeZon
date\u default\u timezone\u set来实现这一点。
我需要在Yii2中使用此选项,new\DateTimeZone('UTC')
似乎不起作用 通常最方便的处理方法是使用组件。如果所有日期都在同一时区,则使用配置中的设置仅在一个位置进行配置(在您的情况下,您可以跳过此设置,因为UTC
是默认值):
$date = new \DateTimeZone(\Yii::$app->timeZone);
echo $date->getName().'<br>';
$date = new DateTimeZone('UTC');
echo $date->getName().'<br>';
\Yii::$app->timeZone = 'EST';
$date = new DateTimeZone(\Yii::$app->timeZone);
echo $date->getName();
然后您可以使用:
您可以使用以下代码在控制器操作中设置默认时区
$UTC = new DateTimeZone("UTC");
$newTZ = new DateTimeZone("America/New_York");
$date = new DateTime( "2011-01-01 15:00:00", $UTC );
$date->setTimezone( $newTZ );
echo $date->format('Y-m-d H:i:s');
或在任何控制器动作中使用
date_default_timezone_set("Asia/Bangkok");
echo date_default_timezone_get();
echo Yii::$app->getFormatter()->asTimestamp($date);
$UTC = new DateTimeZone("UTC");
$newTZ = new DateTimeZone("America/New_York");
$date = new DateTime( "2011-01-01 15:00:00", $UTC );
$date->setTimezone( $newTZ );
echo $date->format('Y-m-d H:i:s');
date_default_timezone_set("Asia/Bangkok");
echo date_default_timezone_get();