数据表中的时区错误

发布于 2024-10-26 09:39:20 字数 284 浏览 6 评论 0原文

我有一个网站,位于 server1 上。它使用位于 server2 上的 Web 服务。 Web 服务使用位于 server3 上的数据库。

Server1 server2和server3具有不同的时区,因此当我通过Web服务获取数据表时,Datetime类型列具有不同的时间值。

例如,

如果在数据库中我有一条记录(日期类型)“2010-03-24-12:00:00”,在网站上我得到“2010-03-24-13:00:00”

我尝试更改列的“DateTimeMode”但问题没有解决。

I Have a web site, which is on server1. It uses web service, which is on server2. Web service uses database, which is on server3.

Server1 server2 and server3 has different timezone, so when I get datatable via web service, Datetime type column has different time value.

For example,

if in database I have a record (date type) '2010-03-24-12:00:00', on web site I get '2010-03-24-13:00:00'

I tried to change column's "DateTimeMode" but problem was not solved.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

我不在是我 2024-11-02 09:39:20

根据经验,我始终将日期时间值以 UTC 形式存储在数据库中,并让客户端根据其关联的时区进行相应调整。 .NET 3.5 使时区调整变得非常容易。

As a rule of thumb, I have always stored datetime values in my databases as UTC and left it up to the client to adjust accordingly to its associated timezone. .NET 3.5 makes this timezone adjustment very easy.

我不在是我 2024-11-02 09:39:20

序列化 DateTime 和 WCF 时出现问题。

最好的解决方案是始终将 DateTime 作为 UTC 存储在数据库中。然后,当从 SQL 读取 DateTime 时,始终使用 DateTime.Specify 指定 DateTimeKind.Utc。

There is a problem with serialising a DateTime and WCF.

The best solution is to always store the DateTime as UTC in the database. Then when reading the DateTime from SQL always use DateTime.Specify to specify a DateTimeKind.Utc.

青萝楚歌 2024-11-02 09:39:20

使用通用时间或 GMT 应该可以解决这个问题。

Using Universal time or GMT should cure that problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文