ÐолимоÑÑÐ½Ð°Ñ ÑÑнкÑÐ¸Ñ formatDate
ÐапиÑиÑе ÑÑнкÑÐ¸Ñ 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
ÐÑкÑÑÑÑ Ð¿ÐµÑоÑниÑÑ Ñ ÑеÑÑами Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ñи.
ÐÐ»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿ÑимиÑивного Ñипа ÑÑÑока/ÑиÑло подойдÑÑ Ð¾Ð¿ÐµÑаÑÐ¾Ñ typeof.
ÐÑимеÑÑ ÐµÐ³Ð¾ ÑабоÑÑ:
alert( typeof 123 ); // "number"
alert( typeof "ÑÑÑока" ); // "string"
alert( typeof new Date() ); // "object"
alert( typeof [] ); // "object"
ÐпеÑаÑÐ¾Ñ typeof не ÑÐ¼ÐµÐµÑ ÑазлиÑаÑÑ ÑазнÑе ÑÐ¸Ð¿Ñ Ð¾Ð±ÑекÑов, они Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ вÑе на одно лиÑо: "object". ÐоÑÑÐ¾Ð¼Ñ Ð¾Ð½ не ÑÐ¼Ð¾Ð¶ÐµÑ Ð¾ÑлиÑиÑÑ Date Ð¾Ñ Array.
ÐÐ»Ñ Ð¾ÑлиÑÐ¸Ñ Array иÑполÑзÑем вÑзов Array.isArray. ÐÑли он невеÑен, знаÑÐ¸Ñ Ñ Ð½Ð°Ñ Ð´Ð°Ñа.
function formatDate(date) {
if (typeof date == 'number') {
// пеÑевеÑÑи ÑекÑÐ½Ð´Ñ Ð² миллиÑекÑÐ½Ð´Ñ Ð¸ пÑеобÑазоваÑÑ Ðº Date
date = new Date(date * 1000);
} else if (typeof date == 'string') {
// ÑÑÑока в ÑÑандаÑÑном ÑоÑмаÑе авÑомаÑиÑеÑки бÑÐ´ÐµÑ ÑазобÑана в даÑÑ
date = new Date(date);
} else if (Array.isArray(date)) {
date = new Date(date[0], date[1], date[2]);
}
// пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки полимоÑÑизма завеÑÑенÑ,
// ÑепеÑÑ Ð¼Ñ ÑабоÑаем Ñ Ð´Ð°Ñой (ÑоÑмаÑиÑÑем еÑ)
return date.toLocaleString("ru", {day: '2-digit', month: '2-digit', year: '2-digit'});
/*
// можно и вÑÑÑнÑÑ, еÑли Ð»ÐµÐ½Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ð² ÑÑаÑÑй IE поддеÑÐ¶ÐºÑ Ð»Ð¾ÐºÐ°Ð»Ð¸Ð·Ð°Ñии
var day = date.getDate();
if (day < 10) day = '0' + day;
var month = date.getMonth() + 1;
if (month < 10) month = '0' + month;
// взÑÑÑ 2 поÑледние ÑиÑÑÑ Ð³Ð¾Ð´Ð°
var year = date.getFullYear() % 100;
if (year < 10) year = '0' + year;
var formattedDate = day + '.' + month + '.' + year;
return formattedDate;
*/
}
ÐÑкÑÑÑÑ ÑеÑение Ñ ÑеÑÑами в пеÑоÑниÑе.