Работа с часовыми поясами и переходом на летнее время в Sql Server 2005 и более поздних версиях - PullRequest
0 голосов
/ 15 июля 2011

Так ... У меня есть веб-приложение, над которым я работаю. Вот основы. (ASP.Net, C #, EF, Linq)

У нас есть проекты, которые имеют и открывают и закрывают дату.

Итак, представьте таблицу с именами полей. В этой таблице нам нужен вычисляемый столбец для Открытого времени и Открытого скорректированного времени, в котором Открытое открытое время учитывает часы работы.

прямо сейчас вы можете установить часы работы с воскресенья по субботу или выбрать, чтобы день не работал.

Хранится в таблице, а значения хранятся в минутах от полуночи в UTC.

Все в нашей базе данных, насколько даты хранятся в UTC.

То есть в определенной пользователем функции, которая рассчитывает время открытия и отрегулированное время открытия (которые записываются и работают, за исключением ситуаций с переходом на летнее время.

Например:

Мы создаем проект, в котором мы на час вперед в 9 утра по местному времени. так что get хранится как 22:00:00 UTC. Если мы создадим проект, когда вернемся к нам в 9 утра по местному времени, он будет сохранен как 21:00:00 UTC. (Я точно догадываюсь в точное время, но вы понимаете, в чем дело).

Это нормально, у меня нет проблем с этим. Проблема возникает с часами работы.

Мы в основном, когда они устанавливают его, получают время utc, а затем преобразуют его в минуты с полуночи и сохраняют его в таблице. Технически, это может быть 22 * ​​60 или 21 * 60 в зависимости от того, в какой части летнего времени мы находимся. Поэтому расчеты могут быть отключены.

Имеет ли это смысл? Мне трудно понять и объяснить некоторые из этих вещей.

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