Как получить дату в формате yyyyMMdd?

Как получить сегодняшнее число 20.12.2021 (или любое другое в таком формате), чтобы оно было преобразовано в такой вид: 20211220?


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

Автор решения: Aleksandr Belous
const date = Date.now(); // timestamp какого-либо дня
const anotherDate = new Date('2021-01-01');

// доп форматирование значений с одним числом
const format = (date) => date < 10 ? `0${date}` : date.toString();

const getDateString = (timestamp) => {
  const date = new Date(timestamp);
  const day = date.getDate();
  const month = date.getMonth() + 1;
  const year = date.getFullYear();
  return `${year}${format(month)}${format(day)}`;
};

console.log(getDateString(date)); // 20211220
console.log(getDateString(anotherDate)); // 20210101
→ Ссылка
Автор решения: entithat

Более лаконичное решение:

function fd(date) {
  return ['year', 'month', 'day'].map(e => new Intl.DateTimeFormat('en', {
    [e]: 'numeric',
  }).format(date).padStart(2, '0')).join``;
}

console.log(fd(new Date));
console.log(fd(new Date(2021, 1, 1)));

→ Ссылка