Приветствую всех! Можно ли средствами Javascript вывести на сайт время конкретного города? Поясню: я хочу, чтобы пользователь хоть в Лондоне хоть в Хабаровске зайдя на мой сайт видел питерское время. Пока только вижу, что можно к Гринвичу прибавить фиксированную разницу (+3), но надо еще учесть переход на летнее время! Вот тут я застопорился...
Добавлено (2007-06-30, 00:30)
---------------------------------------------
Ну поскольку никто ничего не предложил то придется ответить самому себе
Придумал (и опробовал) пару вариантов правда оба кривоватых:
а)Прибавляем к Гринвичу .getUTCHours() следующее: 4 часа если месяц .getMonth() больше марта (3) и меньше ноября (11) иначе прибавляем 3 часа.
Недостаток: скрипт будет неправильно показывать от последней субботы апреля и октября до начала следующего месяца. Можно конечно забить на N лет вперед точные даты перехода и следить за ними, но это больно громоздко - лениво делать.
б)Используем .getTimezoneOffset() - он в минутах, делим его на 60 - это локальный оффсет смотрящего .getHours() от Гринвича. Прибавляем (вычитаем?) полученное к оффсету нужного города (в данном случае 4) и к .getHours() .
Недостаток: работает только для мест, которые сами переходят на летнее время. И только для тех, у кого сдвиг от Гринвича кратен целым часам (а есть увы и другие). Последнее несложно устранить, но опять же лень - суммировать минуты, добавлять к часам...
Поэтому пока остановился на первом варианте.