В JS месяцы начинаются с 0, поэтому
new Date (2001, 5, 5)
— это июнь (06), это нужно учитывать. Кроме того, вы делаете проверку, если день меньше 10
и месяц меньше 10, при этом действие внутри блока бессмысленно —
data
далее не используется.
Вариант с парсингом Dateconst getDateFormat = (date = new Date(2001, 4, 5), separator = '.') => {
const days = String(date.getDate()).padStart(2, '0');
const month = String(date.getMonth() + 1).padStart(2, '0');
const year = date.getFullYear();
return [days, month, year].join(separator);
};
Вариант с использованием Intl.DateTimeFormatconst getDateFormat = (date = new Date(2001, 4, 5), separator = '.') => {
const options = { day: '2-digit', month: '2-digit', year: 'numeric' };
const formatter = new Intl.DateTimeFormat('ru-RU', options);
return formatter.format(date).replace(/\./g, separator);
};