我做了一个小工具,作用是定时到客户的服务器上面穿数据,可是在本机跑的话没有问题,放到服务器上面就报date string can not be less than 19 characters这样的错误,给客户穿的是对象类型,所以有一些时间类型的字段,上面报的错误是时间格式不能小于19位,也就是说我穿的时间格式的数据必须是
"yyyy-MM-dd HH:mm:ss"类型的,可是我不管用什么样的方法从数据库取出的数据如果是
"2012-9-9 12:12:12"都无法转换为"2012-09-09 12:12:12"的格式,请各位大侠帮我解决这个错误提示,或者告诉我怎么把日期月和日不足十的给补零

解决方案 »

  1.   

    在sql语句中转换一下就可以了  select CONVERT(varchar(19),getdate(),120) as a
      

  2.   

    不行的,我给对放穿的数据是放在对方定义的一个对象的字段里面的,从数据库取出的数据不管你转换成什么都要经过convert.todatetime类似的类型转换,经过转换后,月份和日期如果是不满十的个位,都会把前面的零给自动去掉,比如说从数据库取出的数据为
    "2012-09-09 12:12:12" 经过convert.todatetime转换为datetime类型后就会为"2012-9-9 12:12:12"
      

  3.   

    2012-09-09 12:12:12是yyyy-MM-dd hh:mm:ss
    2012-9-9 12:12:12 是yyyy-M-d hh:mm:ss格式。
    传数据不是要json?传之前DateTime类型数据一律调用ToString("yyyy-MM-dd hh:mm:ss")转一下咯。话说,两边传数据还是应该定好协议,再在传之前根据协议将数据格式化一下滴。