Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Количество дней до даты (https://javascript.ru/forum/events/27695-kolichestvo-dnejj-do-daty.html)

next_uk 21.04.2012 19:38

Количество дней до даты
 
вот код...но почему-то ничего не выводит..кто подскажет, что делать?!
function daysLeftNewYear() { 
 var date = document.GetElementById("date").value;
 var day1 = parseInt(date.substr(0, 2));
 var month1 = parseInt(date.substr(3, 2));
 var year1 = parseInt(date.substr(6, 4));
 var list = document.GetElementById("list");
 nextDate = new Date("December 31, 2012");
 msPerDay = 24*60*60*1000;
 daysLeft = Math.round((nextDate.getTime() - msPerDay*day1*month1)/msPerDay);
 dayname = ""
 ds = ""+daysLeft;
 dd=parseInt(ds.substr(ds.length-1));
 if(daysLeft>4&&daysLeft<21) {dayname=" дней";}
 else
 if(dd==1){dayname=" день";}
 else
 if(dd==2||dd==3||dd==4){dayname=" дней";}
 else dayname=" дней"
 if(daysLeft<0) {list.innerHTML = "С новым годом!";}
 else {
 if(daysLeft==0) {list.innerHTML = "Завтра Новый год!";} else {
 list.innerHTML = "" + daysLeft + dayname +  " " + "Осталось к новому году";}
 }
}

<p><input type="text" size="20" name="count2" id="date" style="border-width"></p>
			<input type="button" value="Вычислить" onClick = "daysLeftNewYear()"/></p>
<div id="list" class="show"></div>

cyber 21.04.2012 19:39

вам алгоритм или решение?

next_uk 21.04.2012 19:41

Цитата:

Сообщение от cyber (Сообщение 170372)
вам алгоритм или решение?

подскажите алгоритм, если не получится, то спрошу детальнее)

cyber 21.04.2012 19:50

1.вам нужно опредилить кол-во месяцев до даты
2.а потом тупо слаживать,дни в каждем месяце=)
допустим седня 21 в месяце 30 дней и до заданой даты 4 месяца слажуется кол-во дней в каждем месяце + 9 и + кол-во дней до даты(если конечно ччисло 15 то +15)

next_uk 21.04.2012 19:51

Цитата:

Сообщение от cyber (Сообщение 170378)
1.вам нужно опредилить кол-во месяцев до даты
2.а потом тупо слаживать,дни в каждем месяце=)
допустим седня 21 в месяце 30 дней и до заданой даты 4 месяца слажуется кол-во дней в каждем месяце + 9 и + кол-во дней до даты(если конечно ччисло 15 то +15)

а если в месяце < или > 30 дней?)

melky 21.04.2012 20:30

var one = new Date("May 21 2012 20:22:48"); // дата, до которой считаем.
var two = Date.now(); // текущее время

var remaining = one - two; // миллисекунды до даты

remaining /= 1000; // секунды до даты
remaining /= 60;    // минуты до даты
remaining /= 60;    // часы до даты
remaining /= 24;    // дни до даты

alert(remaining);

next_uk 21.04.2012 20:33

Цитата:

Сообщение от melky (Сообщение 170388)
var one = new Date("May 21 2012 20:22:48"); // дата, до которой считаем.
var two = Date.now(); // текущее время

var remaining = one - two; // миллисекунды до даты

remaining /= 1000; // секунды до даты
remaining /= 60;    // минуты до даты
remaining /= 60;    // часы до даты
remaining /= 24;    // дни до даты

alert(remaining);

мне сегодняшняя дата не нужна..я ввожу дату в строку и тогда должно мне выдать, сколько дней осталось к новому году

melky 21.04.2012 20:36

Цитата:

Сообщение от next_uk (Сообщение 170389)
мне сегодняшняя дата не нужна..я ввожу дату в строку и тогда должно мне выдать, сколько дней осталось к новому году

да какая разница? я показал, как вычислить количество дней между двумя датами. подправить значения переменных one и two Вы можете сами.

next_uk 21.04.2012 22:08

обновил

melky 21.04.2012 23:34

GetElementById исправьте на getElementById


Часовой пояс GMT +3, время: 15:59.