Is there a way to set local timezone in laravel?
In config/app.php
'timezone' => 'UTC',
- What should be added so that timezone value above uses local timezone?
After some research, stumbled upon the following PHP way of dealing with it:
$userTimezone = Auth::user()->timezone;
date_default_timezone_set($userTimezone);
// and change the configuration so they match
Config::set('app.timezone', $userTimezone)
But, Is there an elegant solution for this other than converting the timezone using the above code.
Cheers
Don't do that. Never set the global Laravel timezone to user's timezone. You'll face endless problems.
Choose you application timezone, set the Laravel config to that timezone and never change it.
Instead, when you need to show a date in user's timezone do something like
To control which model columns are automatically converted to
Carbon\Carbon
instances, add the following method to your model file: