2009-04-01 3 views
0

У меня есть столбец datetime в таблице с именем 'createdDate', значение по умолчанию которого установлено в getutcdate(). Однако, когда строка добавляется в таблицу, время создания createdDate составляет 1 час позади системного времени. Поэтому мой вопрос: как увеличить текущую временную метку системы баз данных на 1 час?Sql Время сервера за 1 час позади

Заранее спасибо.

ответ

2

Похоже, что ваши серверы знают о летнее время (GMT, BST и т. Д.), И ваша база данных решительно использует UTC.

Используйте GetDate(), если вы хотите в базе данныхдаты в соответствии с базой данных сервера «s время.

В качестве альтернативы снимите флажок «Автоматически настраивать часы для перехода на летнее время» в свойствах «Дата и время» на вашем сервере и продолжайте использовать GetUtcDate().

0

Сервер базы данных, вероятно, находится в часовом поясе, который имеет сдвиг в час от времени UTC. Взгляните на записи MSND для GetDate() и GetUtcDate(), соответственно.

0

Вы всегда должны следить за тем, чтобы ваш сервер и ваша БД согласовывали изменения времени и DST.

IMO Вы всегда должны соглашаться на UTC, поскольку это изолирует вас от любых тонких ошибок в результате разрозненных изменений DST (например, то, что произошло в США в прошлом году).

Смежные вопросы