Web Service 调用日期出现偏差的原因

本文记录了解决在.NET WebService应用中遇到的时间显示错误问题的过程,最终确定为服务器时区配置导致的时间偏移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近使用.net 的Web Service实现了一些代码,但是在客户机器上面执行的过程中,发现系统提交的日期总是

比真是的日期少了12个小时,在开发环境中测试没有任何问题。

例如:北京时间2007年4月28日9点35分,写入到数据库之后,则变成了2007年4月27日21点35分。
首先,联想到使用Delphi连接Web Service曾经产生的类似问题,是不是Web Service协议调用的时候,需要特

别的指出时间和GMT时间的差距呢?本身这个问题在以前的调用中就没有发生过,所以可能性几乎没有。那会不

会是Web.config的配置改变了系统的默认参数呢?查看Web Service的Web.config文件,发现Request和

Response的编码都是utf-8,这个也不存在问题,和我们自己的开发欢迎是一致的。

会不会是客户的那台机器出现了问题呢?比如说他自己机器的时间配置出现了问题?查看了客户机的设置,没

有发现什么异常,都是Windows默认的设置值。找了另外一台服务器来测试,配置也是默认值,写入进去的数据

也是错误的。这样就可以认为是服务器的设置问题了。

打开服务器的时间设置,看到的时间看上去是正常的,打开“时区”选项卡,发现使用的是GMT-5,美国东部时

间,哈哈,问题就在这里,修改为GMT+8,再看一下Windows任务栏的时间,变成了和现在相差12个小时的凌晨4

点,重新修改为正确的时间,问题解决。

看来很多事情都是有解决简单办法,另外一个方面,服务器的管理非常重要,平时我们自己使用的PC机时间错

了也无所谓,但是这个服务器里面存储了数据,数据将会发生错误。


PS: 和同事出差,他睡觉在打呼噜,俺自己谁不着,只有上网来溜达一会。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值