
06.10.2007, 20:35
|
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
Схема простая - берется timeZoneOffset, запоминается как delta.
Далее работают часы. Получаем текущее время, вычитаем delta, получаем время по гринвичу. Плюсуем разницу конкретного города, смотрим, не активно ли там летнее время, вращаем стрелки. Попутно отправляется запрос на сервер за точным временем, по получении корректируем delta, а если не получаем ответа - значит нет коннекта, считаем что часы на компе установлены правильно. Ну и еще фича - если юзер часы на компе переводит, снова лезем на сервер и выставляем время правильно.
Если лень возится, стукнись в личку - с удовольствием продам еще раз)) Только для Нью-Йорка с летним временем не совсем правильно, переводится по европейской системе - недели две - три в год будет на час несовпадать. Можно в принципе и переделать, если цена вопроса того стоит.
А в Стамбуле вроде бы летнего времени вообще нет, надо смотреть.
|