Php Laravel 5应用程序时区动态变化

Php Laravel 5应用程序时区动态变化,php,laravel,datetime,laravel-5,Php,Laravel,Datetime,Laravel 5,我使用的是Laravel5,我面临着动态改变时区的问题。我在下面显示我的代码 来自提供商的功能 class AppServiceProvider extends ServiceProvider { public function boot() { // } public function register() { Config::set('app.timezone', 'Australia/Sydney'); }

我使用的是Laravel5,我面临着动态改变时区的问题。我在下面显示我的代码

来自提供商的功能

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        //
    }

    public function register()
    {
        Config::set('app.timezone',  'Australia/Sydney');
    }
}
use App\Http\Controllers\Controller;
use Carbon;
use Config;

class EmployeesAttendanceController extends Controller
{
    public function create()
    {
      $time = Carbon\Carbon::now();
      echo $time;
    }

}
我的控制器

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        //
    }

    public function register()
    {
        Config::set('app.timezone',  'Australia/Sydney');
    }
}
use App\Http\Controllers\Controller;
use Carbon;
use Config;

class EmployeesAttendanceController extends Controller
{
    public function create()
    {
      $time = Carbon\Carbon::now();
      echo $time;
    }

}

当我直接从
config/app.php
时区添加时,效果很好;例如
“时区”=>“UTC”
“时区”=>“澳大利亚/悉尼”
,但是当我从提供程序设置它时,时区就不起作用了。

无需从
config/app.php
更改时区,您可以在php
DateTime
类和setTimezone函数的帮助下动态地处理这个问题

像这样:-

$time = new \DateTime(date('Y-m-d H:i'), new \DateTimeZone('UTC'));
$time->setTimezone(new \DateTimeZone('Australia/Sydney'));
$time = $time->format('Y-m-d H:i');
echo $time;
注意:-确保
config/app.php
文件中的
'timezone'=>'UTC'

尝试使用
boot()
方法,同时尝试
date\u default\u timezone\u set()
函数。