разница между датами
подскажите плиз, есть вот такой код ввода дат:
Код:
<tr > |
liarbur, формат тех дат какой?
|
Насколько я понимаю, формат дат dd.mm.yyyy
|
Цитата:
Цитата:
var d1='01.01.2010'; var d2='31.12.2012'; d1=strToDate(d1); d2=strToDate(d2); alert(d2-d1); // function strToDate(Str) { var a=Str.split('.') return new Date(a[2],a[1]-1,+a[0]); } |
Большое спасибо
|
Добрый день!
У меня есть скрипт, но надо добавить проверку даты, чтоб период между введенными датами не превышал 1 месяца (т.е. 31 дня) function check_date_format(o) { d = new Date(); m = new Array(0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); if (d.getYear()%4==0) m[2] = 29; s = new String(o.value); r = s.split("-"); if (r.length<3) { return false; } dd = new Number(r[0]); mm = new Number(r[1]); yy = new Number(r[2]); t = 0; if (parseInt(dd) == NaN) t++; if (parseInt(mm) == NaN) t++; if (parseInt(dd) == NaN) t++; if (t) { return false; } if (mm<1 || mm>12 || dd<1 || dd>31 || m[mm]<dd) { return false; } d.setYear(yy); d.setMonth(mm - 1); d.setDate(dd); return d; } function check_date(o) { startDate = check_date_format(o.P_START_DATE); endDate = check_date_format(o.P_END_DATE); event.returnValue = true; if (startDate > endDate) { alert("Дата начала периода не должна быть больше даты конца периода."); event.returnValue = false; } else return (event.returnValue); } решение есть! добавить n=(endDate-startDate)/1000/60/60/24 и условие if (n > 31) { alert("ошибка"); event.returnValue = false; } |
Цитата:
|
Часовой пояс GMT +3, время: 16:02. |