我使用Laravel 5,我遇到了动态更改时区的问题。我在下面显示我的代码,
提供商提供的功能
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
时区直接添加工作正常;例如'timezone' => 'UTC'
到'timezone' => 'Australia/Sydney'
,但是当我从提供商处设置时,则时区不起作用。
答案 0 :(得分:0)
在config/app.php
类和 setTimezone 函数的帮助下,您无需更改DateTime
时区,即可以动态动态。
$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
。