разница между датами
подскажите плиз, есть вот такой код ввода дат:
Код:
<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, время: 13:20. |