公司最近正在做一个项目,这个项目有一个服务端和若干个客户端。服务端主要负责根据客户端提供的参数从数据库查询数据放到DataTable里,然后把DataTable序列化后传给客户端。客户端负责把从服务器传送过来的数据显示出来。
今天做这个项目的时候遇到一个非常奇怪的问题:服务端从数据库里查出来的DateTime类型的数据在服务端是正常的,传到客户端后全部都多了8个小时;而如果由客户端直接查数据库的话,得出的结果是正确的。检查服务端和客户端的时区后发现服务端的时区设置于客户端的不一致,因此,.Net自作主张地把DateTime中保存的时间改了。后来把服务器与客户端的时区设置改成一样就恢复正常了。
发表回复