Дата, летнее время
Это скрипт для 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. Как определить, что стоит галка переход на летнее время? Или кто предложит другой вариант определения даты сервера? |
getTimezoneOffset() работает аналогично
если установлена галка перевода на летнее время результат на час больше для часового пояса +11, например, переход на летнее время не поддерживается, галки нет |
Если у кого возникнет такой же вопрос
можно получить значение от "зимней" даты, или способом выше или проще new Date(2011,0,11).getTimezoneOffset() и от текущей даты new Date().getTimezoneOffset() если значения отличаются на час - галка перехода на летнее время стоит странно что в теме ответ не нашли http://javascript.ru/forum/misc/6566...ee-vremya.html вопрос исчерпан |
Часовой пояс GMT +3, время: 10:32. |