我正在使用Laravel 5,我面临着动态更改时区的问题。我在下面显示我的代码,
来自提供程序的功能
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
//
}
public function register()
{
Config::set('app.timezone', 'Australia/Sydney');
}
}
我的控制器
use AppHttpControllersController;
use Carbon;
use Config;
class EmployeesAttendanceController extends Controller
{
public function create()
{
$time = CarbonCarbon::now();
echo $time;
}
}
当我直接从config/app.php
时区添加时,时区工作正常; 例如'timezone' => 'UTC'
到'timezone' => 'Australia/Sydney'
,但是当我从提供商设置时,时区不起作用。
无需更改时区config/app.php
您可以在 PHPDateTime
class 和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;
注意:- 确保'timezone' => 'UTC'
config/app.php
文件中。