今天在项目网站中出现了一个恼人的问题
本机测试环境为windows xp || iis 5.0 || vs20005 || sqlServer2000
服务器环境为:windows2003 || iis 6.0 || sqlServer 2000
因为用到的存储过程中有动态sql语句,有一个地方不得不将日期转化为字符串后对时间进行比较
所以遇到了下面这个问题:在本机测试正常,放到服务器上出现查询不到结果
后来调试了好多地方,都开始怀疑是否存储过程也有编码问题了
最后将转换之后的时间进行对比发现:
XP输出的时间为:
BeginAddTime:2009-01-01 0:00:00
EndAddTime:2009-06-30 16:05:03
2003输出的时间为:
BeginAddTime:2009-1-1 0:00:00
EndAddTime:2009-6-30 16:05:03
差就差在两者对不足十位的是否用0补全上面,这可吭死人了~~~
于是,在程序中对DataTime.Now进行了处理:
DataTime.Now.ToString("yyyy-MM-dd");
而默认的方法DataTime.Now.ToShortDateString()
在windows 2003环境下就会出现没有用0补全个位的情况。
今记于此,以备后用!!