Особенности часового пояса на сервере sql - PullRequest
1 голос
/ 01 февраля 2009

Я использую SQL Server 2005, размещенный в штатах. Скоро мы перенесем БД в Европу. Я хотел бы обновить даты в БД, чтобы учесть разницу часовых поясов. Есть ли хороший способ сделать это? Или это просто случай зацикливания дат и добавления смещения часового пояса?

Ответы [ 2 ]

3 голосов
/ 01 февраля 2009

Это действительно нужно изменить, потому что он был физически перемещен? Если вы поддерживаете глобальные приложения, я бы сохранил всю информацию о дате / времени в GMT и перевел бы ее на локальный на стороне клиента.

2 голосов
/ 01 февраля 2009

Я думаю, что вы должны сохранять дату / время в базе данных в постоянном часовом поясе, это может быть либо GMT (потому что преобразовать его в другие часовые пояса довольно просто), либо текущий часовой пояс сервера, если это не GMT.

Единственная причина, по которой более поздний вариант имеет смысл, заключается в том, что вы используете функцию CURDATE для вставки / фильтрации записей из базы данных, в противном случае GMT ​​является лучшим вариантом.

Вы можете попробовать использовать DATEDIFF с DATEADD, но из-за DST это не всегда даст точное время (в некоторых случаях отключается на 1 час).

В SQL Server 2005 существует известное ограничение на преобразование часовых поясов, для получения дополнительной информации обратитесь к следующей ссылке: http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=308563

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