0

我正在使用“UTC”作为时区编写我的应用程序。我有timezone每个用户的专栏。我将在表示层中使用这个值。日期/时间输出和输入将使用它。

当没有当前用户时,我还将在视图层中显示日期和时间。我希望后备时区成为应用程序之一。我想避免每次都使用这样的逻辑:

$now = new Carbon();
if (!Auth::guest()) {
    $now->setTimezone(Auth::user()->timezone);
}

这一切终于把我引向了我的问题。在哪里/如何设置视图层时区的好地方?

我正在提供自己的答案,但我正在寻找更好的解决方案、批评等。

4

1 回答 1

0

在身份验证(登录)期间设置会话值...

Auth::login($user);
session(['timezone', $user->timezone]);

在视图层中使用它...

{{ \Carbon\Carbon::now()->setTimezone(session('timezone'))->format('h:i A T') }}
于 2017-08-29T14:25:32.860 回答