поэтому я создаю новое приложение и думаю, какой тип 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. Или по местному времени сервера?
Привет Михаил