C# - десериализация значений DateTime и DateTimeOffset в UTC и местное время по мере необходимостиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 C# - десериализация значений DateTime и DateTimeOffset в UTC и местное время по мере необходимости

Сообщение Anonymous »

В настоящее время я работаю над полнофункциональным приложением, которому никогда не приходилось учитывать часовой пояс, но похоже, что вскоре ему придется быть немного более универсальным с точки зрения знания местного часового пояса, перехода на летнее время и т. д. .
Я думал, что следующие шаги могут стать основой решения:
  • Разрешить интерфейсную часть приложение для использования местного времени машины (для выбора из компонентов выбора даты и времени, и т. д.).
  • Когда данные отправляются в API, будь то создание или запрос записи, любые значения DateTime или DateTimeOffset (оба используются в настоящее время ) оно отправляется по местному времени в полезных данных JSON, но затем, после получения, преобразуется из местного времени в UTC. Это будет означать, что он может быть в форме UTC для использования в любой бизнес-логике или для хранения в БД.
  • В тот момент, когда любые данные возвращаются из API клиенту (например, запрос GET), клиент получит данные в формате UTC, а затем преобразует их в местное время машины для отображения и т. д.
Я попытался выполнить это, используя некоторые написанные мною методы расширения, которые проверяли бы члены десериализованные запросы/ответы и соответствующим образом настройте любые поля DateTime или DateTimeOffset. В достаточно простых случаях это работало нормально, но все чаще становилось минным полем, поскольку объекты становились все более сложными и включали вложенные объекты, перечислимые объекты и т. д.
Что мне сейчас интересно, если процесс десериализации JSON будет иметь возможность последовательно десериализовать значения в желаемый часовой пояс. Я осмотрелся, но не нашел ничего конкретного, поэтому задался вопросом, может ли вопрос здесь дать свежий взгляд.
Я открыт для любых идей, поэтому, если Подход, который я изложил выше, не идеален, или я что-то упустил из виду, дайте мне знать!
Спасибо,
Марк

Подробнее здесь: https://stackoverflow.com/questions/784 ... al-time-as
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»