Часовой пояс в слое просмотра

Я пишу свое заявление с UTC в качестве часового пояса. у меня есть timezone столбец для каждого пользователя. Я собираюсь использовать это значение на уровне представления. Дата / время выходы и входы будут использовать его.

Я также буду представлять даты и время в слое представления, когда нет текущего пользователя. Я хочу, чтобы резервный часовой пояс был прикладным. Я хочу избегать использования такой логики каждый раз:

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

Все это, наконец, подводит меня к моему вопросу. Где / как это хорошее место для установки часового пояса слоя представления?

Я даю свой ответ, но я ищу лучшие решения, критику и т. Д.

1 ответ

Установить значение сеанса во время аутентификации (входа в систему)...

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

Используйте его в виде слоя...

{{ \Carbon\Carbon::now()->setTimezone(session('timezone'))->format('h:i A T') }}
Другие вопросы по тегам