Лучшая практика Дата и время регистрации - PullRequest
3 голосов
/ 06 августа 2010

Я создаю простую CMS для управления статьями. Мой MS SQL Server 2008 размещен в США, автор базы данных находится в США и Германии.

Когда автор создает статью в базе данных, я хотел бы записать ДАТУ создания.

Я бы хотел показать дату на сайте, как если бы все содержимое и статьи были созданы из Германии.

Мои вопросы: A) - оболочка, которую я использую SYSDATETIMEOFFSET () в качестве DEFAULT в базе данных и на уровне бизнес-логики, преобразованном в немецкое время?

B) - я должен добавить DATE непосредственно из уровня бизнес-логики, не позволяя базе данных добавлять дату и время и отображать данные такими, какие они есть?

Надеюсь, мой вопрос понятен. Если вы можете прислать мне какой-нибудь ресурс-ссылку, я буду признателен за это

Спасибо, ребята: -)

Ответы [ 3 ]

6 голосов
/ 06 августа 2010

Храните даты в UTC со смещением часового пояса, используйте эту дату также внутри приложения.

Преобразовать только в местное время в последний момент.

Рекомендации по использованию даты и времени, часовых поясов собраны в этом вопросе.

3 голосов
/ 06 августа 2010

Я бы порекомендовал перейти на UTC - так у вас будет абсолютная система отсчета.

Это делается в SQL Server с использованием

select getutcdate()
0 голосов
/ 06 августа 2010

Сохранение даты в определенном стандартном времени в вашей БД, независимо от часового пояса, из которого она произошла.

Сохранение / вычисление часового пояса пользователя, и всякий раз, когда вы отображаете данные для пользователя, преобразуйте их в пользователячасовой пояс в BL / Presentation Layer.Не делайте этого в пользовательском интерфейсе, позже вы получите боль!

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