У меня есть некоторый код, который создает массив диапазонов дат. Затем я вызываю функцию (из указателя даты jquery UI), передаю ей дату и сравниваю эту дату с датами в массиве. Я делаю это таким образом, потому что даты хранятся в CMS, и это единственный способ, которым я могу вывести их.
К сожалению, мой код проверяет только первый диапазон дат в массиве - и я не могу понять, почему! Я думаю, что это, вероятно, что-то простое (/ глупо!) - если кто-то может пролить свет на это, я был бы чрезвычайно благодарен!
Код ниже - диапазон июнь-сентябрь (ps1-pe1) работает нормально, декабрь к январю полностью игнорируется ...
<script type="text/javascript" language="javascript">
var ps1 = new Date(2010, 06-1, 18); // range1 start
var pe1 = new Date(2010, 09-1, 03); // range1 end
var ps2 = new Date(2010, 12-1, 20); // range2 start
var pe2 = new Date(2011, 01-1, 02); // range2 end
var peakStart = new Array(ps1,ps2);
var peakEnd = new Array(pe1,pe2);
function checkDay(date) {
var day = date.getDay();
for (var i=0; i<peakStart.length; i++) {
if ((date > peakStart[i]) && (date < peakEnd[i])) {
return [(day == 5), ''];
} else {
return [(day == 1 || day == 5), ''];
}
}
}
</script>