今天,碰到奇怪的事情.在本机上测试通过的程序,能显示正确的金额,在服务器上执行,金额变小了;开始百思不得其解,后来发现,有些编码中都包含0,比如2009120402,这些都没有被加入金额,那么就是说服务器上的日期格式不一样造成的;确实如此,now.ToShortDateString()在本地显示的是2010-01-18,而服务器上显示的是2009-1-18,难怪会有不同的金额了。也就是说,只要在程序中固定日期格式就可以了。
所以,只要把bd.ToShortDateString()改成Format(bd, "yyyy-MM-dd")就可以了。