@GreenX5

Коррекция даты на один месяц?

Получаю текущую дату в формате 'Feb_2021'

let now = new Date();
let arr = now.toDateString().split(' ');
alert(arr[1]+'_'+arr[3]);


Хочу получить то же, но со сдвигом на месяц назад, но что-то не то делаю, помогите плз.

let now = new Date();
let shift = -1.0;
let date = now.setMonth(now.getMonth() + shift);
let arr = date.toDateString().split(' ');
alert(arr[1]+'_'+arr[3]);
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
function formatDate(str) {
  const d = new Date(str.replace('_', ' 1, '));
  d.setMonth(d.getMonth() - 1);
  return d.toLocaleDateString('en-US', {
    month: 'short',
    year: 'numeric',
  }).replace(' ', '_');
}

formatDate('Feb_2021') // "Jan_2021"
formatDate('Jan_2000') // "Dec_1999"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@GreenX5 Автор вопроса
Всем сорри, понял, коррекция работает на месте

let now = new Date();
let shift = -1;
now.setMonth(now.getMonth() + shift);
let arr = now.toDateString().split(' ');
alert(arr[1]+'_'+arr[3]);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы