Даты в SQL Server постоянно выключаются на 12 часов - PullRequest
0 голосов
/ 29 июня 2009

Технологии нашей производственной платформы: PHP, MS SQL Sever и IIS.

PHP установлен на часовой пояс «Pacific / Auckland», который является текущим +12: 00 GMT / UTC.

Когда мы получаем даты из SQL Server, они последовательно отстают на 12 часов от того, что они должны быть, т.е. SQL Server хранит и обслуживает их как даты по Гринвичу, хотя часовым поясом на самом сервере также является Pacific / Auckland.

Есть ли скрытая функция sp, которую вы можете использовать для установки часового пояса? Если это не связано с часовым поясом, пожалуйста, просветите меня!

Ответы [ 2 ]

1 голос
/ 29 июня 2009

Если ваше утверждение является точным и общим, вы сможете воспроизвести его, просто вставив строку в таблицу со столбцом даты и времени, например:

CREATE TABLE OffBy12 (
    IsThisOff datetime not null
)
GO

INSERT INTO OffBy12 (IsThisOff) VALUES ('2009-06-28')

SELECT IsThisOff
FROM OffBy12

Если вы правы, то временная часть даты не будет 00:00.

Если вы не правы, тогда это должно быть что-то более сложное. В этом случае вы можете указать, как данные попадают в SQL Server.

1 голос
/ 29 июня 2009

Можете ли вы открыть sql server management studio и набрать "select getdate ()", чтобы убедиться, что это sql server не так?

Используете ли вы getdate () или другую функцию sql для получения даты?

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