SQL Server中的日期持续12小时

时间:2009-06-28 20:24:45

标签: php sql-server timezone

我们的生产平台技术包括:PHP,MS SQL Sever和IIS。

PHP设置为时区'Pacific / Auckland',当前+12:00 GMT / UTC。

当我们从SQL Server中检索日期时,它们始终比它们应该晚了12个小时,即。 SQL Server正在存储和提供它们作为GMT日期,即使服务器本身的时区也是太平洋/奥克兰。

是否存在隐藏的sp函数,您可以使用它来设置时区?如果这不是时区相关的,请赐教!

2 个答案:

答案 0 :(得分:1)

你能打开sql server management studio并输入“select getdate()”来确保它是错误的sql server吗?

您是否使用getdate()或其他sql函数来获取日期?

答案 1 :(得分:1)

如果您的陈述既准确又通用,那么您应该能够通过在具有日期时间列的表中插入一行来重现这一点:

CREATE TABLE OffBy12 (
    IsThisOff datetime not null
)
GO

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

SELECT IsThisOff
FROM OffBy12

如果你是对的,那么日期的时间部分将不是00:00。

如果你不正确,那么这一定是更复杂的事情。在这种情况下,您可能想说明数据是如何进入SQL Server的。