0

我有一个 WCF 服务和一个 Windows 应用程序,它们都在不同的时区。现在这个 windows 应用程序通过 WCF 服务保存和检索数据。

当我对具有数据类型为日期时间的日志时间列的表进行批量插入时,我能够将此本地日期时间保存在数据库中,但是当我尝试检索此表时,它会给出日志时间列的所有错误值。

在 SO 上发现了许多类似的问题,但我无法实现 UTC 时间,因为我所指的表包含一千条记录,每 5-10 秒更新一次。

有什么方法可以阻止 WCF 服务完成的这种自动日期时间转换。

请指导。

4

1 回答 1

1

这是什么意思:“它给出了 logtime 列的所有错误值。” 时间是数据库服务器的本地时间吗?这不是你想要的吗?

我假设您希望 logtime 列成为客户端计算机的时区。那正确吗?由于未指定,我还假设您使用 SQL Server 中的 GetDate() 的默认值设置 logtime 列。由于未指定,我还假设您使用的是 SQL Server。

如果你想使用客户端的时区,那么你有几个选择:

  1. 将数据库服务器的时区更改为与客户端计算机相同的时区。
  2. 将时间作为参数传递给 WCF 服务。(我假设 WCF 服务在与数据库服务器处于同一时区的服务器上运行。)
  3. 保持原样,但在检索数据时转换为正确的时区。

可能还有更多选择,但如果您澄清我所做的假设会很有帮助。

这是什么意思:“WCF 服务完成的自动日期时间转换?” 它是否使用其本地时区?如果是这样,那么您需要让它接受一个时间,而不是自己确定它。也许你应该展示一些代码。那会很有帮助。

于 2012-04-29T13:54:19.623 回答