Формат вывода даты 01-01-2018

215
26 декабря 2017, 18:48

Есть функция, которая выводит дату через определенное кол-во дней:

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. Буду благодарен за помощь

Answer 1

Судя по ответу вот отсюда: 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() вернет однозначное число, то добавится (сконкатинируется) ноль вперед и вернется два числа. Если же в дате будет двузначное число, то не смотря на то, что сконкатинируется ноль - вернется все также последние два числа, то есть ноль отбросится.

READ ALSO
Бегущая строка при скролле

Бегущая строка при скролле

Друзья, всем привет! как сделать вот такую бегущую строку при скролле? То есть, строка должна полностью прокрутиться до конца сайтаСмотреть...

213
Не работает jQuery на Nokia Lumia 605 [требует правки]

Не работает jQuery на Nokia Lumia 605 [требует правки]

Сделал сайт (hizhinafloristaru), решил протестировать

217
Node.js app login [требует правки]

Node.js app login [требует правки]

I have created nodejs app where i have login form and then user is accessing main page of the appBut user can access main page without logging in

215