Есть функция, которая выводит дату через определенное кол-во дней:
function get(data, day) {
data = data.split('-');
data = new Date(data[2], +data[1] - 1, +data[0] + day, 0, 0, 0, 0);
data = [data.getDate(), data.getMonth() + 1, data.getFullYear()];
data = data.join('-').replace(/(^|\/)(\d)(?=\/)/g, "$10$2");
return data
}
console.log(get("24-12-2018", 10));
Сейчас она выводит дату в формате 1-1-2018, каким образом сделать вывод даты в формате 01-01-2018 ? то есть день и месяц с 0.
Буду благодарен за помощь
Судя по ответу вот отсюда: https://stackoverflow.com/a/3605248, можно сделать так:
function get(data, day) {
data = data.split('-');
data = new Date(data[2], +data[1] - 1, +data[0] + day, 0, 0, 0, 0);
data = [addZeroz(data.getDate()), addZeroz(data.getMonth() + 1), data.getFullYear()];
data = data.join('-').replace(/(^|\/)(\d)(?=\/)/g, "$10$2");
return data
}
function addZeroz(number) {
return ('0' + number).slice(-2);
}
console.log(get("24-12-2018", 10));
То есть .slice(-2) всегда дает последние два символа из строки, поэтому если getDate() или getMonth() вернет однозначное число, то добавится (сконкатинируется) ноль вперед и вернется два числа. Если же в дате будет двузначное число, то не смотря на то, что сконкатинируется ноль - вернется все также последние два числа, то есть ноль отбросится.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости