Почему-то встроенных решений не нашел. Только одну библиотечку dater/dater, которая не связана с Yii2 и сильно дублирует функционал Formatter, но имеет средство $timezoneDetector->getHtmlJsCode() которая через JavaScript какими-то хитрыми вычислениями определяет часовой пояс. Но по ощущению тот еще костыль.
В большинстве обсуждений предлагается TimeZone определять чуть ли не самостоятельно прописывая вычисления на JavaScript исходя из времени пользователя (тут можно багов наделать и долго отлаживать). Еще вариант определять географическое положение по IP.
Да, только так.
На сервере вы можете получить только таймзону сервера.