Проверьте это обсуждение:
Как отобразить правильное время?
Имеет именно тот ответ, который вы ищете.
Другой стратегией будет считывание IP-адреса клиента, сопоставление его со страной и местоположением, а затем определение вероятного часового пояса. Возможно, он не точный, но имеет преимущество в том, что в основном работает, даже если время / местоположение машины / браузера полностью неверны.
В качестве альтернативы, просто позвольте пользователю выбрать свое местоположение и сохраните выбор в файлах cookie, отправляя его при каждом новом запросе.