环境如下:winxp+jdk1.5_04+mysql5.0.13+mysql-connector-java-3.1.12:
在Mysql中查询时间能够正确显示,如:'2005-12-18 13:33:26',但是用java通过ResultSet.getString()读取出来之后就成了'2005-12-18 13:33:26.0'了,多了一个尾巴在后面,我看到网上也有一些网站时间是这样显示的,这是怎么回事?请兄弟们赐教,如何消除这个尾巴

解决方案 »

  1.   

    看过一些用mysql做数据库的开源头的项目,他们都把时间类型换成BIGINT型的,尽管mysql有datetime类型。java的Date构造函数支持用long做参数。 Date d=new Date(1134897424703L);
    DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String date=df.format(d);
    System.out.println(date);
    //2005-12-18 17:17:04
      

  2.   

    保存到mysql的时候也可以把日期型先转成long 比如 Date dd=new Date();
         long l=dd.getTime();
         .....
      

  3.   

    保存到mysql的时候我是做为字符串保存进去的,也是用SimpleDateFormat格式化Date对象后再添加到数据库中的,我在mysql中查询是正常显示,类似2005-12-18 17:17:04,但是读出来就出问题了,难道非要用bigint格式存放?
      

  4.   

    感谢didoleo(冷月无声) ,我将时间字段换成char后能够正常读出,但是为什么会这样我还是不明白,看来这个帖子估计是没有人再来了,结了,再次感谢
      

  5.   

    那是秒吧. 因为 数据库的时间格式,可能. 
    输出时一般采用 .substring(0,10) 截取.
    我常遇到 ,不过是oracle数据库.