Хранение c# DateTimeOffset оценивает в базе данных SQL Server 2005

Σ * не набор всех языков. Это один язык, который включает в себя все строки.

DFA не могут распознавать любой язык, который требует бесконечного количества состояний. Например, a ^ nb ^ n (язык, содержащий равное количество a и b). Для каждого i набор действительных суффиксов после a ^ i различен, поэтому каждый a ^ i должен приводить к другому состоянию, а число i не ограничено.

См .: https://en.wikipedia.org/wiki/Myhill%E2%80%93Nerode_theorem

.

5
задан Andy Lester 21 October 2008 в 02:24
поделиться

3 ответа

Это не хорошая идея предположить, что смещение является многими часами или получасом - вокруг существуют, конечно, часовые пояса четверти часа.

Используя миллисекунды для смещения является, вероятно, самым гибким, но я утверждал бы, что минуты намного легче считать. Если Вы когда-либо собираетесь посмотреть на "необработанные" данные в базе данных, легче понять значение 60 = 1 час, чем 3600000. Я не могу вообразить Вас действительно необходимостью в частях минут как смещение.

7
ответ дан 13 December 2019 в 05:44
поделиться

Нормализуйте весь DateTimeOffsets к общему смещению, предпочтительно UTC. Затем просто сохраните DateTime, как обычно. После восстановления извлечения смещение, которое должно быть константой. Это не сохраняет смещение возникновения, но смещение неоднозначно к часовому поясу так или иначе.

Если бы на самом деле необходимо знать источник даты/времени, то необходимо было бы хранить некоторую информацию часового пояса. Это вызвано тем, что простое смещение не может однозначно представить источник времени. См. (несколько запутывающее) документацию MSDN о Выборе Between DateTime, DateTimeOffset и TimeZoneInfo.

4
ответ дан 13 December 2019 в 05:44
поделиться

сохраните дату и время как дату и время и смещение как миллисекунды (bigint)

1
ответ дан 13 December 2019 в 05:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: