Php Laravel 5应用程序时区动态变化
我使用的是Laravel5,我面临着动态改变时区的问题。我在下面显示我的代码 来自提供商的功能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'); }
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
更改时区,您可以在phpDateTime
类和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()
函数。