Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
badboy
1

Скрипт, который считает период от введенной до текущей даты

07.06.2006, 02:14. Показов 2479. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
люди такой вопрос: вот скрипт он должен работать таким образом,вы вводите любое число,месяц и год и он должен пробигать от этой даты до настоящей (т.е. 6.6.06) скрипт неплохой вот только что-то в нем нетак когда посмотрите увидете. Вроде по скрипту должно всё работать,но чето он неработает!!! в чем моя ошибка???
Да и кстати у меня d.getMonth() и d.getDay() непрввильно работают!для того чтоб он правильно работал мне нужно(в скриптевидно) почему????

скрипт:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
function f1(){
d=new Date(); 
c=document.getElementById("i1").value;cc=d.getYear();
b=document.getElementById("i2").value;bb=d.getMonth()+1;
a=document.getElementById("i3").value;aa=d.getDay()+4;
 
if (c==""||c<0||c>cc){alert("vvedite pravilino god");document.getElementById("i1").value="";}
else if (b==""||b<=0||b>12){alert("vvedite pravilino meseac");document.getElementById("i2").value="";}
else if (a==""||a<=0||a>31){alert("vvedite pravilino deni");document.getElementById("i3").value="";}
else{f2();}
 
function f2(){
var vg1=new Array("0","2","4","6","8");var pvg1=new Array("0","4","8");
var vg2=new Array("1","3","5","7","9");var pvg2=new Array("2","6","6");
var d31=new Array("1","3","5","7","8","10","12");
var d30=new Array("4","6","9","11");
i=0;ii=0;j=0;w1=vg1;w2=pvg1;vg();
 
function vg(){
if (c.substring(3,2)==w1[i]&&c.substring(3,4)==w2[ii]){rvg=366;}
else if (ii==2&&i==4&&w1==vg2){rvg=365;}
else if (ii==2&&i==4){w1=vg2;w2=pvg2;i=0;ii=0;return vg();}
else if (ii<2){ii++;return vg();}
else if (ii==2){i++;ii=0;return vg();}}scd(j);
 
function scd(j){
if (b==d31[j]){k=31;}
else if (b==d30[j]){k=30;}
else if (b==2&&rvg=="366"){k=29;}
else if (b==2&&rvg=="365"){k=28;}
else if (b!==j){return scd(j+1);}}podt();
 
function podt(){
a2a=parseInt(a);c2c=parseInt(c);b2b=parseInt(b);
if (c2c<CC&&B2B<12&&A2A<K){A2A=(A2A+1);DALEE();}
if (c2c<CC&&B2B<12&&A2A==K){A2A=1;B2B=(B2B+1);DALEE();}
if (c2c<CC&&B2B==12&&A2A<K){A2A=(A2A+1);DALEE();}
if (c2c<CC&&B2B==12&&A2A==K){C2C=(C2C+1);B2B=1;A2A=1;DALEE();}
if (c2c==c){alert("end");}
}
function dalee()
{a=a2a.toString();b=b2b.toString();c=c2c.toString();document.write(a+":"+b+":"+c+"
");return f2();}
}}
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2006, 02:14
Ответы с готовыми решениями:

Скрипт на javascript, который считает цену от доллара
Кто знает как сделать скрипт на javascript, который учитывая текущий курс доллара высчитывает...

Написать скрипт, который определяет по введенной дате рождения сколько было лет в период всей жизни
Написать скрипт, который определяет по введенной дате рождения сколько было лет в период всей...

На основе введенной даты рождения и текущей даты сообщить пользователю, сколько он прожил дней
3. Написать программу, которая на основе введенной даты рождения и текущей даты сообщает...

Через форму вводится лента формата даты, например (02.04.1978). Разработать сценарий, который проверяет правильность введенной даты.
Через форму вводится лента формата даты, например (02.04.1978). Разработать сценарий, который...

4
mishgun
07.06.2006, 03:06 2
Я правда не понял в чем именно ошибка автор решил наверное чтоб ы сами догадались.

Чисто навскидку вот тебе описание Date функций которые ты используешь.Надесь поймешь в чем твоя ошибка

# getDay() - Day of the week(0-6). 0 = Sunday, ... , 6 = Saturday

# getDate() - Day of the month (0-31)

# getMonth() - Number of month (0-11)
badboy
07.06.2006, 14:43 3
спасибо насчет date() получилось теперь он у меня день выводит правильно, а месяц - get.Month() всеравно пишет на 1 меньше ну ладно это неглавное! главное то,что я немогу понять почему неработает скрипт! значит он выглядет так: допустим мы ввели в

input type="text" id="i1" size="5" maxlength="4" value=" ввели 2000

input type="text" id="i2" size="5" maxlength="2" value=" ввели 1

input type="text" id="i3" size="5" maxlength="2" value=" ввели1

input type="button" id="b1" value="ok" onclick="f1() кликнули



function f1(){

// в этой функции c=2000,b=1,a=1; cc,bb,aa=сегодняшнее число;

d=new Date();

c=document.getElementById("i1").value;cc=d.getYear();

b=document.getElementById("i2").value;bb=d.getMonth()+1;

a=document.getElementById("i3").value;aa=d.getDate();



// здесь проверяеться условие ввода и если все правильно то f2();

if (c==""||c<0||c>cc){alert("vvedite pravilino god");document.getElementById("i1").value="";}

else if (b==""||b<=0||b>12){alert("vvedite pravilino meseac");document.getElementById("i2").value="";}

else if (a==""||a<=0||a>31){alert("vvedite pravilino deni");document.getElementById("i3").value="";}

else{f2();}



function f2(){

// здесь я объявил переменные и массивы нужные в следующих функ.

var vg1=new Array("0","2","4","6","8");var pvg1=new Array("0","4","8");

var vg2=new Array("1","3","5","7","9");var pvg2=new Array("2","6","6");

var d31=new Array("1","3","5","7","8","10","12");

var d30=new Array("4","6","9","11");

i=0;ii=0;j=0;w1=vg1;w2=pvg1; vg();



function vg(){

// здесь сравнивается если высокосный год то rvg=366; или 365;

if (c.substring(3,2)==w1[i]&&c.substring(3,4)==w2[ii]){rvg=366;}

else if (ii==2&&i==4&&w1==vg2){rvg=365;}

else if (ii==2&&i==4){w1=vg2;w2=pvg2;i=0;ii=0;return vg();}

else if (ii<2){ii++;return vg();}

else if (ii==2){i++;ii=0;return vg();}}scd(j);



function scd(j){

// здесь по месяцу и году находиться сколько дней 31,30,29 или 28;

if (b==d31[j]){k=31;}

else if (b==d30[j]){k=30;}

else if (b==2&&rvg=="366"){k=29;}

else if (b==2&&rvg=="365"){k=28;}

else if (b!==j){return scd(j+1);}}podt();



function podt(){

// это щетчик который должен пробигать от 2000,1,1 до 2006,6,6

// и выписать все значиния 1.1.2000 / 2.1.2000 ... 6.6.2006

a2a=parseInt(a);c2c=parseInt(c);b2b=parseInt(b);

if (c2c<cc&&b2b<12&&a2a<k){a2a=(a2a+1);}

if (c2c<cc&&b2b<12&&a2a==k){a2a=1;b2b=(b2b+1);}

if (c2c<cc&&b2b==12&&a2a<k){a2a=(a2a+1);}

if (c2c<cc&&b2b==12&&a2a==k){c2c=(c2c+1);b2b=1;a2a=1;}

if (c2>=c){alert("end");}

a=a2a.toString();b=b2b.toString();c=c2c.toString();document.write(a+":"+b+":"+c+ "
");return f2();

}}}



только вот скрипт вроде работает т.е. допустим пробегает до 4.8.2000

или 3.6.2000 но никак ни до конца!!! а почему я немогу понять!!! вроде по скрипту все должно работать!!!



надеюсь понятно объяснил?!

прошу помочь!!!
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
07.06.2006, 15:05 4
Даже нет особого желания вникать в этот ужас - по другому такой код, с использованием рекурсии и вложенных функций, не назовешь!

По моему задача решается обычным циклом:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function enumDateRange()
{
    var i1 = document.getElementById("i1");
    var i2 = document.getElementById("i2");
    var i3 = document.getElementById("i3");
 
    var endDate = new Date();
    var beginDate = new Date(parseInt(i1.value),
                             parseInt(i2.value)-1,
                             parseInt(i3.value));
 
    for (;;)
    {
        beginDate = new Date(beginDate.valueOf() + 24*60*60*1000);
        if (beginDate.valueOf() > endDate.valueOf()) break;
 
        alert(beginDate);
    }
}
P.S. И на вопрос века это никак не тянет ...
0
badboy
08.06.2006, 20:23 5
Спасибо всем большое! Сглупил и забрался не в ту степь!
08.06.2006, 20:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.06.2006, 20:23
Помогаю со студенческими работами здесь

Есть ли скрипт, который считает дату Пасхи
Есть ли скрипт, который считает дату Пасхи? Т.е задаешь год, а в итоге показывает когда будет Пасха.

Создать скрипт в Bash, который считает символические ссылки в каталоге и подкаталогах
Здравствуйте, помогите написать скрипт в bash: Напишите скрипт, определяющий количество...

Подскажите PHP скрипт, который считает и записывает клик, а после перебрасывает
Доброго времени суток. Подскажите автономный php скрипт, который бы считал количество переходов...

Написать скрипт который по введенной дате будет вычислять количество дней по сегодняшнее число
Написать скрипт который по введенной дате будет вычислять количество дней по сегодняшнее число....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru