Laravel为一个Controller设置动态时区

时间:2016-04-04 13:54:13

标签: laravel timezone laravel-5.2

我正在Laravel上开发网站。我在config/app.php中设置了默认时区,但我有一个部分,其中必须显示有关用户时区的信息。是否有一个特定控制器可以选择使用用户时区?

2 个答案:

答案 0 :(得分:3)

您可以使用config()帮助程序在请求中的任何位置设置配置值。此更改仅影响该请求。

因此,在您的情况下,一个选项是将构造函数内的配置设置更新到您的控制器。然后,该控制器处理的任何请求都将使用更新的时区设置。

class MyController extends Controller
{
    public function __construct()
    {
        config(['app.timezone' => 'America/Chicago']);
    }
}

您可以将该语句移动到任何地方,因为需要更全面或更精细的控制。

答案 1 :(得分:0)

如果您想显示每个用户的当地时间并使用Laravel日期(Carbon),您可以执行以下操作:

if (Auth::check()) {
    $object->created_at->setTimezone(Auth::user->timezone)
}