Как определить часовой пояс клиента?
На js - одна строчкаvar offset = new Date().getTimezoneOffset();
И почему "На js определять - не самый хороший вариант" ?
Если хотите без JS - используйте GeoIP
www.php.net/manual/en/function.geoip-record-by-name.php
www.php.net/manual/en/function.geoip-time-zone-by-...
GeoIP БД, как я знаю, обновляем и есть разные источники с разной достоверностью. Также есть GeoIP SaaS