Ответ 1
Вы не можете получить локаль клиента или часовой пояс со стороны сервера, и вы можете только угадать его с клиентской стороны, используя JavaScript.
(Вы можете получить больше информации о локали, если браузер поддерживает Java, но это немного боль, и все ненавидят апплеты.)
Чтобы обрабатывать часовые пояса в веб-приложении, сохраняйте все время как временные метки UTC и конвертируйте их в текст для форматирования на странице с использованием пользовательского часового пояса. Вы можете использовать методы как в этом вопросе, чтобы угадать в часовом поясе, но поскольку это не является надежным, вы также должны позволить пользователю явно выбирать часовой пояс.