Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Количество дней между датами (https://javascript.ru/forum/dom-window/58967-kolichestvo-dnejj-mezhdu-datami.html)

Intrerio 20.10.2015 13:54

Количество дней между датами
 
В продолжении темы о возрасте открываю новый вопрос.
Есть дата начала и дата конца некого действия.Обе даты в формате дд.мм.гггг. Согласно правилам разница дней между датами должна быть не более 365 дней (даже в высокосный год). Помогите пожалуйста с пониманием как посчитать количество дней между датами. Уже проверку на 365 дней я знаю как сделать, а вот разницу пока не умею высчитывать.

ksa 20.10.2015 14:06

Как вариант использовать стороннюю библиотеку...
http://habrahabr.ru/post/132654/

ksa 20.10.2015 14:10

Или так...
Цитата:

используй Date.parse() для обоих дат, потом из второй вычти первую - получишь число миллисекунд, потом /60/60/24 и получишь дни.
http://studioad.ru/forum/12-1238-1

ksa 20.10.2015 14:13

Тут вот и примеры есть...
http://htmlcssjs.ru/JavaScript/?20#.ViYheFN3Duo

nerv_ 20.10.2015 14:15

http://javascript.ru/forum/misc/3733...tml#post246755

Intrerio 20.10.2015 14:43

И опять же ж всем большое спасибо. Использовал вариант ksa со сторонней библиотекой. Еще паралельно глянул на руселлере пару примеров. Очень просто все вышло, буквально в пару строк. Кому интересно то скоро сброшу вариант того что получилось.

Intrerio 20.10.2015 14:50

<input id="test" value="2000-10-10" >
<input id="test1" value="2000-10-15" >

<script>
var test123=document.getElementById('test').value;
var test1234=document.getElementById('test1').value;

var dateB = moment(test1234);
var dateC = moment(test123);

if (dateB.diff(dateC, 'days')>365){
alert("Errro");
}
else{
alert("Good");
}

</script>


Ну вот тестовый вариант. Если будут вопросы постараюсь ответить.

Intrerio 20.10.2015 15:11

А вот так он выглядит уже на сайте:
<script>
	  function dates_dif(){
var datestart1=document.getElementById('datestart').value;
var dateend1=document.getElementById('dateend').value;
var c = "<img src='/images/ok.png' width='10' height='10'>";
var z = "<img src='/images/error.png' width='10' height='10'> Кількість днів між датами перевищує 365 днів";
var dateB = moment(dateend1);
var dateC = moment(datestart1);
if (dateB.diff(dateC, 'days')>365){
document.getElementById('ddval').innerHTML = z;
}
else{
document.getElementById('ddval').innerHTML = c;
}
}
</script>


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