Справочник javascript: setUTCDate
Сегодня эксперементировал с классом и обнаружил что аргументом может быть число не от 1 до 31 а вообще любое, даже если написать
var date = new Date(); date.setUTCDate(999);
показатели пересчитаются, получится дата соответствующая текущему числу + дней до конца текущего месяца + 999дней - дней до конца текущего месяца
Также можно и отрицательные аргументы передавать, тогда если date.setUTCDate(-1) - установится дата, соответствующая предыдущему месяцу и дню = количество дней в месяце - 1