我有一个网站,位于server1上。它使用web服务,它位于server2上。 Web服务使用server3上的数据库。
Server1 server2和server3具有不同的时区,因此当我通过Web服务获取数据表时,Datetime类型列具有不同的时间值。
例如,
如果在数据库中我有一个记录(日期类型)'2010-03-24-12:00:00',在网站上我得到'2010-03-24-13:00:00'
我尝试更改列的“DateTimeMode”,但问题没有解决。
答案 0 :(得分:3)
根据经验,我总是将数据库中的日期时间值存储为UTC,并将其留给客户端,以根据其关联的时区进行调整。 .NET 3.5使这个时区调整变得非常容易。
答案 1 :(得分:2)
序列化DateTime和WCF时出现问题。
最佳解决方案是始终将DateTime作为UTC存储在数据库中。然后,当从SQL读取DateTime时,总是使用DateTime.Specify来指定DateTimeKind.Utc。
答案 2 :(得分:1)
使用世界时或GMT可以解决这个问题。