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

时间:2017-07-13 11:25:55

标签: php laravel datetime laravel-5

我使用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',但是当我从提供商处设置时,则时区不起作用。

1 个答案:

答案 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