Суть вопроса такова:
есть задачка, реализовать дату в формате дд.мм.гггг
с этим проблем нет.
function formatDate(date) {
var dd = date.getDate();
if (dd < 10) dd = '0' + dd; //дописываем числу 0 если число меньше 10 (01,02 и т.д.)
var mm = date.getMonth() + 1; //возвратит месяц, начиная с нуля. Увеличим его на 1
if (mm < 10) mm = '0' + mm;
var yy = date.getFullYear() % 100;
if (yy < 10) yy = '0' + yy;
return dd + '.' + mm + '.' + yy;
}
var d = new Date(2016, 01, 30);
alert( formatDate(d) );
Но вот где возникает проблема:
var d = new Date(2016, 01, 30);
alert( formatDate(d) );
Т.е. если устанавливать любой другой месяц и день, то все нормально. Например 2016, 02, 30 выдаст 30.03.2016. А если 2016, 01, 30, то выводит 02.03.2016 (по идее должно быть 30.02.2016).
Объясните, пожалуйста, почему так происходит? Всю голову сломал. В поисках толком ответа так и не нашел...
Спасибо.