В JavaScript у объекта Date есть метод getTimezoneOffset.
Цитата с
http://wdh.suncloud.ru/js11.htm#mgettimezoneoffset :
=========================
"Метод getTimezoneOffset возвращает разницу в минутах между временем UTC и местным временем (т. е. временем компьютера, на котором выполняется сценарий). Из-за переходов на летнее и зимнее время эта разница в течение года может изменяться. Для перевода местного времени в UTC следует прибавить к нему полученное значение.
Если, например, следующий сценарий
var today = new Date();
document.write(today.getTimezoneOffset() / 60);
выполняется на компьютере, находящемся в Екатеринбурге, то он выведет на экран обозревателя число -6. Это означает, что время в Екатеринбурге на 6 часов больше, чем UTC."
=========================
Соответственно это значение можно передать на сервер. Сам не пробовал, но идея вроде верная.