WebService的时间问题,大家都注意一下

最近开发一款PDA产品,GPRS我用的是WebService与服务器端进行通信,直接通过DataTable传输数据。

本来一切顺利,在测试的时候却发现了一个问题,所有日期都少了一天,比如8月21日变成了8月20日上午9点。这令我很费解

仔细检查了下代码,数据库中存储的数据正确

输出转换是DateTime.Parse(_DrugCertificate.Rows[0]["createtime"].ToString()).ToString("yyyy年MM月dd日")也没有问题。

尝试了下从数据库中直接读数据出来转换也一切正常。最终断定问题肯定是在WebService的XML格式上面

用浏览器打开查看了下格式如此:

 

   < birthday > 1982-05-09T00:00:00+08:00 </ birthday >  

 

 晕啊,之所以时间错误的原因在于.Net从WebService读时间出来的时候将+80区这个字段转换成时间了。

怎么解决这个问题? 就是在查询的时候记得用SQL语句转换下时间的格式。

大家注意下这个问题,很容易被忽略掉。

 

 

你可能感兴趣的:(webservice)