переформатировать дату прихода формы массива javascript / React - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь выяснить, как переформатировать дату, поступающую из массива ... Пример:

data: [{id: "1213" startDate: "2020-04-22T17:20:35.797Z" endDate: "2021-04-22T17:20:35.797Z"}]

<div>{data.startDate}</div>

В настоящее время дата отображается как 2020-04-22T17: 20: 35.797Z. У меня вопрос, как мне переформатировать дату, чтобы показать как 22.04.2020?

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

Попробуйте следующий код. Преобразуйте startDate в javascript объект Date, а затем используйте обычное форматирование для получения желаемого результата. Выход будет массив форматированных дат

let arr = [{
  id: "1213",
  startDate: "2020-04-22T17:20:35.797Z",
  endDate: "2021-04-22T17:20:35.797Z"
}];

const ret = arr.map(item => {
 let startDate = new Date(item.startDate);
 let datestring =
    startDate.getDate() +
    "-" +
    (startDate.getMonth() + 1) +
    "-" +
    startDate.getFullYear();
 return datestring;
});

console.log(ret);
0 голосов
/ 23 апреля 2020

Сначала преобразуйте свою дату в js дату:

const date = new Date(data.startDate);

Затем используйте функцию toLocaleDateString для преобразования в локальную строку даты:

<div>{date.toLocaleDateString()}</div>

Для пакетного преобразования вашего массив данных, вы можете сделать это:

const newData = data.map(item => {
    const startDate = new Date(item.startDate);
    const endDate = new Date(item.endDate);
    return {id: item.id, startDate: startDate.toLocaleDateString(), endDate: endDate.toLocaleDateString()}
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...