Azure Api веб-приложения теряет информацию о часовом поясе при звонке с angular - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь получить объект datetimeoffset из UX для backend api в asp. net core 3.0, размещенном в Azure веб-приложении.

Моя модель имеет свойство datetimeoffset (скажем, ETA ). В UX у меня есть средство выбора даты, где пользователь может выбрать дату. После отправки дата будет передана как часть тела api, как показано ниже

enter image description here

И моя модель в веб-api выглядит так

enter image description here

Все, что я делаю, это сохраняю дату на сервере sql как поле datetimeoffset. При локальном запуске обновленное значение в sql является правильным, например «2020-05-06 00: 00: 00.0000000 -07: 00», в то время как моя локальная машина находится в PST. Но в тот момент, когда я развертываюсь в Azure, поскольку он по умолчанию обрабатывает все в UT C, я считаю, что дата, сохраняемая в БД, - '2020-05-06 00: 00: 00.0000000 +00: 00', что является не то, что я хочу, я хочу сохранить правильную информацию о часовом поясе, отправляемую как часть вызова api. Моя цель - пользователи могут выбирать eta со всего мира, мне нужно сохранить дату вместе с правильным часовым поясом в sql как datetimeoffset, чтобы все мои сравнения datetimeoffset отлично работали в бэкэнде. Просто чтобы добавить, пользователь передает только дату, но в бэкэнде я установил время на 23:59:59, чтобы сделать поле EOD истинным концом дня для указанного c часового пояса.

Я видел "WEBSITE_TIME_ZONE", но мы не должны использовать его в идеале, так как у нас есть использование повсюду, а приложение работает в нескольких регионах.

Что мне здесь не хватает, любое направление будет полезно. API использует новую библиотеку System.Text. Json для. net core 3.0. Никакой библиотеки Newtonsoft. Json между ними. Мой файл startup.cs по умолчанию поставляется с шаблоном net core 3.0 в VS.

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