Как-то помогли мне здесь сделать функцию, в которой есть функция получения дат одного дня недели в течении месяца от заданной даты. Если заданная дата последний, например, вторник месяца, то еще и даты всех вторников следующего месяца.
Вот функция формирования массива дат.
function getDates(date)
           {  var arr = [];
              date = new Date(date);
              if(!date) return arr;
              var days = 7;
              date.setDate(date.getDate()  + days);
              var month = date.getMonth();
              while (date.getMonth() == month) {
                  arr.push(dateFormat(date))
                  date.setDate(date.getDate()  + days);
              }
              return arr;
           }
Раньше вроде все было нормально, но сегодня грабли. Задаю 3 марта, в массив заносятся, 10, 17, 24 и 30. В упор не понимаю, должно же быть 31.
Спасите от катаклизма