Так ... У меня есть веб-приложение, над которым я работаю. Вот основы. (ASP.Net, C #, EF, Linq)
У нас есть проекты, которые имеют и открывают и закрывают дату.
Итак, представьте таблицу с именами полей.
В этой таблице нам нужен вычисляемый столбец для Открытого времени и Открытого скорректированного времени, в котором Открытое открытое время учитывает часы работы.
прямо сейчас вы можете установить часы работы с воскресенья по субботу или выбрать, чтобы день не работал.
Хранится в таблице, а значения хранятся в минутах от полуночи в UTC.
Все в нашей базе данных, насколько даты хранятся в UTC.
То есть в определенной пользователем функции, которая рассчитывает время открытия и отрегулированное время открытия (которые записываются и работают, за исключением ситуаций с переходом на летнее время.
Например:
Мы создаем проект, в котором мы на час вперед в 9 утра по местному времени. так что get хранится как 22:00:00 UTC. Если мы создадим проект, когда вернемся к нам в 9 утра по местному времени, он будет сохранен как 21:00:00 UTC. (Я точно догадываюсь в точное время, но вы понимаете, в чем дело).
Это нормально, у меня нет проблем с этим. Проблема возникает с часами работы.
Мы в основном, когда они устанавливают его, получают время utc, а затем преобразуют его в минуты с полуночи и сохраняют его в таблице. Технически, это может быть 22 * 60 или 21 * 60 в зависимости от того, в какой части летнего времени мы находимся. Поэтому расчеты могут быть отключены.
Имеет ли это смысл? Мне трудно понять и объяснить некоторые из этих вещей.