Передача datetimeoffset в веб-API

У меня проблема со смещением даты и времени. Мне нужно передать 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.";
 }
  • мой datetimepicker дает это "Sat Apr 21 2018 06:00:00 GMT + 0530 (Стандартное время Индии) {} "
  • Но заголовок ответа «2018-04-21T00: 30: 00.000Z»
  • но мой веб-API получает это "{4/21/2018 12:30:00 AM +00: 00}"

Я понимаю, что он вычитает 5:30 часов, поскольку мой часовой пояс 5:30 + GMT

Пожалуйста, помогите мне передать datetimeoffset в мой веб-API. Мне нужно сохранить дату и время со смещением в БД.

Спасибо

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
0
1 105
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Возможно, ваш браузер уже устанавливает необходимую информацию в заголовках HTTP, но в настоящее время я не думаю, что W3C одобрил стандартный заголовок для этой цели, поэтому полагаться на него может быть проблематично.

Единственный надежный метод на данный момент - добавить часовой пояс вашего локального компьютера в отправляемый вами JSON.

W3C опубликовал документ, в котором обсуждается проблема часовых поясов, доступный на https://www.w3.org/TR/timezone/. Вы должны прочитать его, прежде чем реализовывать решение.

Альтернативный вариант - если у вас есть контроль над серверной частью - всегда хранить ваши значения в zulu и преобразовывать их в часовые пояса только тогда, когда все становится видимым для пользователя. В целом я считаю, что это более гибкое решение, поскольку оно позволяет сравнивать и искать записи по времени, что очень сложно, если все записи могут находиться в разных часовых поясах. Я поставил это как комментарий вместо ответа, потому что он на самом деле не отвечает на ваш вопрос - он просто предполагает, что может быть другой способ изучить вашу проблему.

Steven W. Klassen 23.04.2018 15:54

Другие вопросы по теме