Часовой пояс в слое просмотра
Я пишу свое заявление с 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') }}