У меня проблема со смещением даты и времени. Мне нужно передать datetimeoffset в мой веб-API, но я не могу отправить его на свой веб-API. Это свойство моей модели:
public DateTimeOffset? PlannedStart { get; set; }
public DateTimeOffset? PlannedTarget { get; set; }
Здесь я перехожу из машинописного текста:
let body: string = JSON.stringify(this.sprintReview);
let url: string = environment.baseUrl + "api/SprintReview/SaveSprintReview";
this.baseService.post(url, body).subscribe((data: any) => {
this.alertContent = "Saved Successfully.";
}
Я понимаю, что он вычитает 5:30 часов, поскольку мой часовой пояс 5:30 + GMT
Пожалуйста, помогите мне передать datetimeoffset в мой веб-API. Мне нужно сохранить дату и время со смещением в БД.
Спасибо





Возможно, ваш браузер уже устанавливает необходимую информацию в заголовках HTTP, но в настоящее время я не думаю, что W3C одобрил стандартный заголовок для этой цели, поэтому полагаться на него может быть проблематично.
Единственный надежный метод на данный момент - добавить часовой пояс вашего локального компьютера в отправляемый вами JSON.
W3C опубликовал документ, в котором обсуждается проблема часовых поясов, доступный на https://www.w3.org/TR/timezone/. Вы должны прочитать его, прежде чем реализовывать решение.
Альтернативный вариант - если у вас есть контроль над серверной частью - всегда хранить ваши значения в zulu и преобразовывать их в часовые пояса только тогда, когда все становится видимым для пользователя. В целом я считаю, что это более гибкое решение, поскольку оно позволяет сравнивать и искать записи по времени, что очень сложно, если все записи могут находиться в разных часовых поясах. Я поставил это как комментарий вместо ответа, потому что он на самом деле не отвечает на ваш вопрос - он просто предполагает, что может быть другой способ изучить вашу проблему.