Только для новых приложений. Только DateTimeOffset или комбинация с UT C datetime2. - PullRequest
0 голосов
/ 17 апреля 2020

поэтому я создаю новое приложение и думаю, какой тип DateTime я должен использовать для значений.

Изображение следующего элемента

Deadline
Name : string
CreationDateTime : DateTime
LastModificationDateTime : DateTime
Deadline : Date

Теперь моя первая мысль - я просто сохраняю все как UT C datetime2, это хорошо работает для CreationDateTime и LastModificationDate, так как они устанавливаются сервером. Теперь проблема в крайнем сроке. Крайний срок - Дата.

Теперь Крайний срок может быть датой крайнего срока для Китая или датой для Германии. Теперь, если бы я отображал китайский крайний срок в Германии, я бы представил его пользователю вместо 2. Январь, 1 января, 18:00.

Теперь я думаю, стоит ли хранить все даты в качестве DateTimeOffset и все даты в качестве UT C -DateTime2.

Мой вопрос сейчас: если я хочу делать объединения или сравнения, возникают ли у меня проблемы при сравнении datetime2 с datetimeoffset.

select * from Deadline where CreationDateUtc > @DateTimeOffsetVal

Также необходимо учитывать: Я нахожусь в Германии, и большинство приложений хранят свои значения по местному времени . Поэтому преобразование всего в UT C может быть утомительным и подверженным ошибкам. Является ли DateTimeOffset здесь преимуществом?

TL; DR Мои вопросы: - Так следует ли использовать комбинацию DateTime2 и DateTimeOffset или всего DateTimeOffset?

  • Есть ли разница между DateTimeOffset и datetime2? Я думаю, что нет?

  • Если используется DateTimeOffset, должен ли я использовать для CreationDateTime время ut c. Или по местному времени сервера?

Привет Михаил

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