преобразование даты в желаемый формат - PullRequest
1 голос
/ 25 апреля 2019

Я работаю с массивом, содержащим данные, полученные от API.Каждый объект в массиве имеет поле createOn, которое является датой.У меня возникла проблема с преобразованием этих дат в формат ГГГГДДММЧЧммсс, поскольку не все даты имеют одинаковый формат.

Примеры дат приведены ниже:

date1 = 20190425125221, date2 = Wed,30 января 2019 08:57:17 GMT

Я создал еще один массив, который будет содержать все преобразованные даты.Я попытался использовать угловой конвейер дат для преобразования дат в унифицированный формат, а затем использовал моменты, чтобы конвертировать даты в желаемый формат, но я получаю «invalidDate».

подобно

constructor(private transformer: DatePipe) {}
   ....
const myNewArr = arr.map((val, i, arr) => {

const myDate = this.transformer.transform(val.createdOn, 'MMM/dd/yyyy');

const convertedDate=moment(myDate,'MMM/dd/yyyy').format('YYYYDDMMHHmmss');

return convertedDate;
});

...

я ожидаю, что преобразованные даты будут напоминать этот шаблон дат «ГГГГДДМЧЧммсс».

1 Ответ

0 голосов
/ 25 апреля 2019

Вам необходим цикл if, чтобы различать разные форматы даты. Например, строка const convertedDate=moment(myDate,'MMM/dd/yyyy').format('YYYYDDMMHHmmss'); может быть переписана как

let convertedDate;
if (isNaN(myDate)) {
 convertedDate = moment(myDate,'MMM/dd/yyyy').format('YYYYDDMMHHmmss');
} else {
convertedDate = myDate; // already in YYYYDDMMHHmmss format like date1
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...