Это скрипт для 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.
Как определить, что стоит галка переход на летнее время?
Или кто предложит другой вариант определения даты сервера?