Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2011, 17:37   #1
vladislav_m
Пользователь
 
Регистрация: 29.03.2011
Сообщений: 62
По умолчанию работа с датами

Добрый день.. помогите плз допилить скрипт.. по введенным датам - он формирует график занятий.. нужно вклинить еще и високосный год.. т.е. если ввести щас 29 февраля 2000 - 1 апреля 2000 "вторник" - то он сформирует, все вторники попавшие в этот диапазон.. но 29 февраля он пропустит и не выведет.((

Код:
<html>
<head>
<title>Расписание занятий</title>
<script type="text/javaScript">
var mesyaci = new Array ("январь", "февраль","март",  "апрель" , "май", "июнь","июль", "август","сентябрь", "октябрь","ноябрь","декабрь");
function raspis  (obj)
{  
    if ( ((forma.chislo.value>29)&&(forma.mesyac.value==1))||( (forma.chislo2.value>29)&&(forma.endm.value==1) )   ){
      alert('Таких дат в феврале нет!');
      return;
    }
    var datanachrab= new Date (obj.god.value,  obj.mesyac.value, obj.chislo.value);
  
    var dataokonchrab= new Date (obj.god2.value,  obj.endm.value, obj.chislo2.value);

    var datatekrab=  new Date (obj.god.value,  obj.mesyac.value, obj.chislo.value);

    var datavib=obj.datavib2.value;

    var pervzandata=datanachrab.getDate()+Number(datavib)- Number(datanachrab.getDay());
    if (datavib < datanachrab.getDay());
   pervzandata=pervzandata+ 7;
     datatekrab.setDate( pervzandata);
 var s1 = "дни занятий "+"\n";

 var datatekzanyat;
 var s=s1;


 for (i=0;datatekrab.getYear () <= dataokonchrab.getYear (); i++)
  { 
    datatekzanyat= datatekrab.getDate ()+" "+mesyaci[Number( datatekrab.getMonth ())]+" "+datatekrab.getYear ()+"\n"
   if  (datatekrab.getYear () < dataokonchrab.getYear ())
        { s= s+datatekzanyat }
   else
         {  if ( datatekrab.getMonth () < dataokonchrab.getMonth () )
              {s=s+datatekzanyat}
            else 
             {  if (datatekrab.getMonth () == dataokonchrab.getMonth ())
                  { if (datatekrab.getDate()<dataokonchrab.getDate())
                      {s =s+datatekzanyat}
                    else
                      { if (datatekrab.getDate()==dataokonchrab.getDate())
                         {s= s+datatekzanyat; }
                       }
                  }
              }
          }
     pervzandata=datatekrab.getDate()+7;
     datatekrab.setDate(pervzandata);
   }
  if (s==s1)
      alert ("Дата введена некорректно!")
  else
     obj.textovik.value = s
}

</script>
</head> 
<body >
<form name="forma">
<table border=3 align='center' bgcolor="#66ff00">
<tr><th><b>Начало занятий</b></th><th><b>Конец занятий</b></th><th><b>Расписание</b></th></tr>
<tr><td><pre>
 число  <input type="text" name="chislo" size=8 value=1>
 месяц  <select name="mesyac" size=1 >
                <option value=0 selected>январь
                <option value=1>февраль
                <option value=2>март
                <option value=3>апрель
                <option value=4>май
                <option value=5>июнь
                <option value=6>июль
                <option value=7>август
                <option value=8 >сентябрь
                <option value=9>октябрь
                <option value=10>ноябрь
                <option value=11>декабрь
              </select>
 год    <input type="text" name="god"  size=8 value='2011'>
</td>
<td><pre>
 число <input type="text" name="chislo2" size=8 value=1>
 месяц <select name="endm" size=1 >
                <option value=0 selected>январь
                <option value=1>февраль
                <option value=2>март
                <option value=3>апрель
                <option value=4>май
                <option value=5>июнь
                <option value=6>июль
                <option value=7>август
                <option value=8>сентябрь
                <option value=9>октябрь
                <option value=10>ноябрь
                <option value=11 >декабрь
              </select>
 год   <input type="text" name="god2" size='8' value='2011'>
</td>
<td rowspan=2>
<textarea cols=18 rows=8 name='textovik'> </textarea> <br>
</td></tr>
<tr><td colspan=2 align=right><pre>
 выберите день занятий: <select name= 'datavib2' size=1>
   <option value=0 >воскресенье
   <option value=1 selected>понедельник
   <option value=2>вторник
   <option value=3>среда
   <option value=4>четверг
   <option value=5>пятница
   <option value=6>суббота
   </select>
</td></tr>
<tr><td colspan=2 align=left>
 <INPUT type="button" value='Сформировать'   onClick="raspis (forma)"><br></td>
<td  align='right'>
  <INPUT type="reset" value='Отменить'>
</td></tr>
</table>
<BR>
</form>
</body>
</html>
vladislav_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с датами Наташок Помощь студентам 0 27.01.2011 22:16
Работа с датами megachuhancer Общие вопросы Delphi 2 20.10.2010 13:32
работа с датами Screame Microsoft Office Excel 1 11.07.2009 01:18
Работа с датами Tanuska___:) БД в Delphi 6 18.09.2008 13:56
Работа с датами SanekIrk Общие вопросы Delphi 5 11.07.2008 22:01