Показать сообщение отдельно
  #1 (permalink)  
Старый 08.04.2011, 15:26
Интересующийся
Отправить личное сообщение для Demin Посмотреть профиль Найти все сообщения от Demin
 
Регистрация: 08.04.2011
Сообщений: 10

Дата, летнее время
Это скрипт для greasemonkey.

С сервера получаю текущее время в формате чч:мм
и время окончания действия дд-мм чч:мм

Необходимо узнать дату сервера для расчета оставшегося времени до окончания действия (дата нигде на сервере не указана).

Узнавал так:
var dt = new Date();
var time_cur = dt.getTime();

var gmt = /GMT\+(\d+)/;
var gmt2 = /GMT\-(\d+)/;
if (gmt.exec(dt)) { var day_serv1 = time_cur - ((gmt.exec(dt)[1])/100-3)*3600000; }
else { var day_serv1 = time_cur + ((gmt2.exec(dt)[1])/100+3)*3600000; }
day_serv1 = new Date(day_serv1);

var time_serv = regexp_time_server2.exec( b[0].innerHTML );
//время сервера

day_serv = new Date(0,day_serv1.getMonth(),day_serv1.getDate(), Number(time_serv[1]) , Number(time_serv[2]) , Number(time_serv[3]) );
//определение даты

на компе должна быть верная дата и верный часовой пояс. на сервере пояс +3. таким образом вычислял дату сервера.

Все было ок до наступления летнего времени.
Сейчас на компах где стоит авто переход на летнее время прибавляется 1 час. Т.е. на компе GMT +2, скрипт получит GMT +3.

Как определить, что стоит галка переход на летнее время?
Или кто предложит другой вариант определения даты сервера?

Последний раз редактировалось Demin, 08.04.2011 в 15:31.
Ответить с цитированием