Показать сообщение отдельно
  #6 (permalink)  
Старый 23.09.2010, 18:22
Интересующийся
Отправить личное сообщение для i-want Посмотреть профиль Найти все сообщения от i-want
 
Регистрация: 21.09.2010
Сообщений: 11

Ну вот посмотрите, что получилось..
function last_sat (a) {
var date = new Date(new Date().getYear,a,31)
var day = 30 - date.getDay()
date.setMonth(a,day)
return date
}
var now = new Date()
var gmt = (-(
now.getTimezoneOffset())
) / 60
var a = last_sat(2)
var b = last_sat(9)
var h = now.getHours()
if (h<gmt-4) {
var h = 24 + h
}
if (now>a && now<b) {
var h = h - (gmt-4)
}
else {
var h = h - (gmt-3)
}
var m = now.getMinutes()
document.write ('Московское время: '+h+' часов(a) '+m+' минут(ы)')
Всё работает как задумано,кроме этой части кода
var h = now.getHours()
if (h<gmt-4) {
var h = 24 + h
}
if (now>a && now<b) {
var h = h - (gmt-4)
}
else {
var h = h - (gmt-3)
}
Меняя произвольно дату на локалхосте убедился, что работает только else.. Почему? И как изменить эту часть, чтобы всё исполнялось, как нужно (т.е. правильно исполнялось условие с выбором действия с переменной h и увеличение h, если нужно).. Уже часа два мучаюсь..
Ответить с цитированием