Как сделать так, чтобы выводилось три даты: сегодняшнее число, вчерашнее и завтрашнее

<div id="data"></div>
<div id="data2"></div>
<div id="data3"></div>

function month(){ 
  //Получаем сегодняшнюю дату 
  var data = new Date().toLocaleDateString('en-us', { day: 'numeric' })

  //Выводим дату
  var dataText = document.querySelector('#data');
  var dataTextTwo = document.querySelector('#data2');
    var dataTextThree = document.querySelector('#data3');
  dataText.innerHTML = data;
  dataTextTwo.innerHTML = data - 1;
  dataTextThree.innerHTML = data + 1;
}
setInterval(month, 1000);
month();

Ответы (1 шт):

Автор решения: De.Minov

Я бы сделал таким образом.

var dataText = [
  document.querySelector('#data'),
  document.querySelector('#data2'),
  document.querySelector('#data3')
];

function month(){
  var data = [new Date()];
  
  data[1] = new Date(new Date().setDate(data[0].getDate() - 1));
  data[2] = new Date(new Date().setDate(data[0].getDate() + 1));

  dataText.forEach(function(el, i) {
    el.innerHTML = data[i].toLocaleDateString('en-us', { day: 'numeric' });
  });
}
setInterval(month, 1000);
month();
#data::before, #data2::before, #data3::before {display: inline-block; color: gray; margin-right: 1ch;}

#data::before {content: 'Сегодня:';}
#data2::before {content: 'Вчера:';}
#data3::before {content: 'Завтра:';}
<div id="data"></div>
<div id="data2"></div>
<div id="data3"></div>

→ Ссылка