Есть ли смысл хранить дату UT C в столбце DateTimeOffset вместо DateTime (2)? - PullRequest
0 голосов
/ 05 апреля 2020

Для меня это должно быть LocalTime, сохраненное DateTimeOffset ИЛИ UT C в DateTime (2). Не UT C в DateTimeOffset. Но я могу ошибаться.

Есть ли логическая причина хранить UT C в DateTimeOffSet DB.Column? Если так, то это всегда будет выглядеть как «+00: 00». Столбец DateTimeOffset потребляет более 8 байтов?

1 Ответ

1 голос
/ 05 апреля 2020

UT C сохранение в datetimeoffset имеет смысл, если вы собираетесь хранить и другие часовые пояса. Если каждый раз, когда вы собираетесь хранить UT C, вы можете также использовать datetime2 (или, возможно, smalldatetime в зависимости от ваших требований к точности).

Даже если все ваши данные предназначены для одна страна, но эта страна соблюдает DST, тогда, возможно, стоит использовать datetimeoffset. тогда время года может быть UT C +01: 00, а зимой UT C +00: 00. Но это зависит от того, важно ли знать, действует ли DST (это может быть не так).

Обратите внимание, однако, что datetime2 - это меньший размер данных, чем datetimeoffset, поэтому вам нужно принять это в учитывая при работе с гораздо большими наборами результатов. Если вы посмотрите на типы данных Дата и время , вы заметите, что datetime2 использует 6-8 байт, однако, datetimeoffset использует 8-10 байт (поэтому наименьший размер datetimeoffset равен самый большой datetime2).

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