Не работает, если задать в параметре массив. Почему выводит NaN?
function formatDate(date) {
var toString = {}.toString;
if (toString.call(date) === '[object Date]') {
var dd = date.getDate();
if (dd < 10) dd = '0' + dd;
var mm = date.getMonth() + 1;
if (mm < 10) mm = '0' + mm;
var yy = date.getFullYear() % 100;
if (yy < 10) yy = '0' + yy;
return dd + '.' + mm + '.' + yy;
}
else if (typeof date === 'string') {
date = date.split('-').join();
return formatDate(new Date(date));
}
else if (Array.isArray(date)) {
date = date.join();
return formatDate(new Date(date));
}
else {
date = new Date(date*1000);
date = date.getFullYear() + ', ' + date.getMonth() + ', ' + date.getDate();
return formatDate(new Date(date));
}
}
console.log( formatDate('2011-10-02') ); // 02.10.11
console.log( formatDate(1234567890) ); // 14.02.09
console.log( formatDate([2014, 0, 1]) ); // 01.01.14
console.log( formatDate(new Date(2014, 0, 1)) ); // 01.01.14
ну у тебя строка получается 2014,0,1, а это не валидный аргумент, наверно надо писать так:
if (Array.isArray(date)) {
return formatDate(new Date(...date));
}
либо писать валидную строку для входа, как в случае с 2011-10-02
Upd: прошу прощения, просто формат надо было поправить
console.log( formatDate([2014, 01, 01]) ); // 01.01.14
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости