Угловой 6 определяет формат даты JSON - PullRequest
0 голосов
/ 25 августа 2018

Я хочу сделать запрос POST к API. API ожидает дату в следующем формате yyyy-MM-dd HH:mm:ss.SSS. У меня есть объект запроса с атрибутом типа Date.

Когда я делаю запрос POST через

this.http.post<ResponseObject>(url, objectWithDateAttribute, headers);

Мой API выдает ошибку, потому что формат JSON атрибута типа date не совпадает.

Как изменить формат JSON атрибута Date при выполнении запроса POST?

Ответы [ 3 ]

0 голосов
/ 25 августа 2018

Ваш формат гггг-ММ-дд ЧЧ: мм: сс.ССС.let dateAttrib = new Date (). toISOString (). split ('T'). join ('');

0 голосов
/ 25 августа 2018

Вы можете сделать это, используя угловой DatePipe . Вы можете преобразовать объект даты objectWithDateAttribute, посмотрев на этот пример. Обратите внимание на массив providers, и он также должен быть введен внутри constructor.

import { Component } from '@angular/core';
import { DatePipe } from '@angular/common';
@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ],
  providers : [DatePipe]
})
export class AppComponent  {

 someDate = new Date();
  constructor(private dp : DatePipe) {
     console.log(this.dp.transform(this.someDate, 'yyyy-MM-dd HH:mm:ss.SSS'))
  }
}
0 голосов
/ 25 августа 2018

Для API требуется строка ISO, которую можно получить, вызвав toISOString() метод для вашего объекта даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...