Напишите функцию formatDate(date), которая выводит дату date в формате дд.мм.гг:
Например:
var d = new Date(2011, 0, 30); // 30 января 2011 alert( formatDate(d) ); // '30.01.11'
P.S. Обратите внимание, ведущие нули должны присутствовать, то есть 1 января 2011 должно быть 01.01.11, а не 1.1.11.
Решение
Решение
Получим компоненты один за другим.
- День можно получить как
date.getDate(). При неободимости добавим ведущий ноль:
var dd = date.getDate(); if (dd<10) dd= '0'+dd;
date.getMonth()возвратит месяц, начиная с нуля. Увеличим его на 1:
var mm = date.getMonth() + 1; // месяц 1-12 if (mm<10) mm= '0'+mm;
date.getFullYear()вернет год в 4-значном формате. Чтобы сделать его двузначным - воспользуемся оператором взятия остатка'%':
var yy = date.getFullYear() % 100; if (yy<10) yy= '0'+yy;
Заметим, что год, как и другие компоненты, может понадобиться дополнить нулем слева, причем возможно чтоyy == 0(например, 2000 год). При сложении со строкой0+'0' == '00', так что будет все в порядке.
Полный код:
function formatDate(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;
}
var d = new Date(2011, 0, 30); // 30 Jan 2011
alert( formatDate(d) ); // '30.01.11'
#185