Автор Тема: дата. Разница в часовых поясах  (Прочитано 7187 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
дата. Разница в часовых поясах
« Ответ #15 : 09 Марта 2003, 21:45:33 »
Цитировать
А вот ещё одна задачка: определите часовой пояс клиента.

Ээээ...javascript и передать скрипту, но это не очень надежно.
2B OR NOT 2B = FF

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
дата. Разница в часовых поясах
« Ответ #16 : 12 Марта 2003, 19:51:32 »
Просто еще один вариант:

use strict;

my $shift = 3;

printf ("%04d-%02d-%02d %02d:%02d\\n", sub{($_[5]+1900,$_[4]+1,$_[3],$_[2],$_[1])}->(localtime(time+(3600*$shift))));
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

Оффлайн PROnya

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.pronya.gibforex.com
дата. Разница в часовых поясах
« Ответ #17 : 13 Марта 2003, 09:33:43 »
В 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."
=========================

Соответственно это значение можно передать на сервер. Сам не пробовал, но идея вроде верная.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28