Я застрял. Нужна помощь.
Я храню даты в формате UTC в базе данных.
Пример строк:
GeneratedAt:
Местное время для моего пользователя -2 часа (Центральная Европа). Когда мне нужны строки с 09, у меня есть 3 строки.
Проблема с GROUP BY day для целей отчетности. У меня 1 для 08 и 2 для 09, но это неверно для моего местного времени.
Везде я вижу: «хранить данные в UTC». Как это сделать правильно?
ОБНОВЛЕНИЕ 1:
Для доступа к данным я использую NHibernate и предпочитаю решения, не зависящие от движка базы данных. Итак, я ищу решение с чем-то вроде таблицы измерений даты / времени (или чего-то в этом роде).
В моей таблице данных есть такие столбцы:
Благодаря этому я могу легко группировать по: год, год + месяц, год + месяц + день, год + месяц + день + час . К сожалению, это UTC. :(
Как провести рефакторинг этого решения для работы с часовыми поясами пользователя?