Skip to content

Instantly share code, notes, and snippets.

@motionrus
Created August 17, 2018 13:46
Show Gist options
  • Save motionrus/ddcd714206ca80426b5795924378bf9e to your computer and use it in GitHub Desktop.
Save motionrus/ddcd714206ca80426b5795924378bf9e to your computer and use it in GitHub Desktop.
// Напишите функцию formatDate(date), которая возвращает дату в формате dd.mm.yy.
//
// Ее первый аргумент должен содержать дату в одном из видов:
//
// Как объект Date.
// Как строку, например yyyy-mm-dd или другую в стандартном формате даты.
// Как число секунд с 01.01.1970.
// Как массив [гггг, мм, дд], месяц начинается с нуля
// Для этого вам понадобится определить тип данных аргумента и, при необходимости, преобразовать входные данные в нужный формат.
//
// Пример работы:
//
//function formatDate(date) { /* ваш код */ }
//
//alert( formatDate('2011-10-02') ); // 02.10.11
//alert( formatDate(1234567890) ); // 14.02.09
//alert( formatDate([2014, 0, 1]) ); // 01.01.14
//alert( formatDate(new Date(2014, 0, 1)) ); // 01.01.14
function typeArr(arr) {
var toString = {}.toString;
return (toString.call(arr)).slice(8,-1);
}
function formatDate(data) {
var options = {
day: "2-digit",
month: "2-digit",
year: '2-digit',
};
switch (typeArr(data)) {
case 'String':
var arrData = data.split('-');
return (new Date(arrData)).toLocaleString('ru', options);
case 'Number':
return (new Date(data*1000)).toLocaleString('ru', options);
case 'Array':
var [year, month, day] = data;
return (new Date(year, month, day)).toLocaleString('ru', options);
case 'Date':
return data.toLocaleString('ru', options);
default:
break
}
}
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment