服务器上用的是全 球标准时间 (UTC)
select GETUTCDATE(), getdate()
推测:有人改了服务器的时区,变成格林尼治标准时间,重启了SQL服务或计算机,又改回北京时区。
你可以比较下这个值的差异:
select getdate() as 本地时间,getUTCdate() as 标准时间,Convert(nvarchar(16),getUTCdate(),120) as 年月日时分
如果不能修改时区,你可以在代码中设置一个全局常量8,每个时间都减8小时
.net帮组文档中找到DATATIME的内容。有介绍。