【发布时间】:2014-08-22 13:33:48
【问题描述】:
我的数据存储在 GMT + 2 的国家/地区的 SQL Server 上。例如,DateTime 值类似于 1/1/1800 12:00:00 AM。
现在,我有一个 C# 控制台应用程序,它在英国的服务器上运行。 C# 正在从远程数据库中读取这些值。但是,收到的日期少了 2 小时,例如:31/12/1799 22:00:00。
我将文化更改为 en-US,唯一改变的是 10:00:00 PM 而不是 22:00:00 的打印
知道为什么日期值被“自动转换”为语言环境时区,而不是保持原样吗?
谢谢 问候
【问题讨论】:
-
它是否从该英国服务器读取(或在设置时读取)任何区域设置或位置设置?例如时区。
-
你如何将值传递给数据库?通过一些变量(SP 参数等)或使用 GetDate() 函数?
-
@TheVillageIdiot GetDate()
标签: sql sql-server-2008 c#-4.0