Я уже несколько дней пытаюсь получить свой код на стороне сервера (C #), чтобы сохранить метку времени, отправленную через вызов API в Postgres.
Кажется, работает нормально, если я присоединяю DateTime.Now()
к объекту передачи данных, но когда я пытаюсь проанализировать дату и время, отправленные клиентом, я получаю 400 с
**0: "The input was not valid."**.
как мойответ.
Мои классы выглядят так:
TS:
export interface ArtistShows {
showDate: string;
venue: string;
id?: string;
bandsAlsoPlaying: Array<string>;
}
C #
public class ArtistShow
{
public Guid Id { get; set; }
public DateTime ShowDate { get; set; }
public string Venue { get; set; }
public string BandsAlsoPlaying { get; set; }
public virtual Artist Artist { get; set; }
}
Метод, который отображает новую форму (без даты)) (TS)
private _mapNewShowForm(): ArtistShows {
let showDate = this.newShowForm.get(this.newShowFormEnum.DATE).value;
let convertedShowDate = new Date(showDate);
return {
bandsAlsoPlaying: [],
showDate: convertedShowDate.toISOString(),
venue: `${this.newShowForm.get(this.newShowFormEnum.VENUE).value}, ${this.newShowForm.get(this.newShowFormEnum.CITY).value}`
};
}
Формат даты из запроса: "2019-01-04T00: 00: 00.000Z" Требуемый формат: "2018-12-29 20: 23: 22.667766" <- Датыхранится в PG как метка времени без часового пояса </p>
Мой вопрос: кто-нибудь знает, в каком формате я должен отправлять свою дату в бэкэнд (я слышал, что это ISO 8601)?Должен ли я что-то делать для Даты на клиенте?И как я могу преобразовать мою дату JS в дату, которая будет сохранять в PG?
Я также использую Microsoft Entity Framework Core с Postgres (если это поможет)