我在Oracle数据库中有一列数据为日期类型的: 格式是: 2011-03-12 11:39:20 保存在数据库中的。但是我用
rs.getDate() 取出后,再用SimpleDateformat format=new SimpleDateformat("dd/MM/yyyy hh:mm:ss") 来进行format成String  ,结果在页面显示成了: 12/03/2011 12:00:00 ,所有的时间都成了这样,。。,google了一下说是 sql.Date 类型在取出时就截取了日期,没有保留 时 分 秒          请教各位大虾们一下,有没有方法可以将格式 转变成带斜杠的那个样子,又保持 时 分 秒 精度不丢失呢?急用。。请赐教 。。小弟先谢过了。

解决方案 »

  1.   

    long temp_time = rs.getDate().getTime();
    java.util.Date date = new Date(temp_time);
      

  2.   

    如果用 java.sql 包里的日期的话,需要用 Timestamp 类
      

  3.   


    //通常是使用使用更加功能更加丰富的 java.sql.Timestamp类来和数据库时间关联
    Timestamp timestamp = rs.getTimestamp(int columnIndex);
    Timestamp就包含分秒了 具体应用可以参考JDK文档
      

  4.   


    Timestamp t1 = rs.getTimestamp(int columnIndex);
    java.util.Date t2=t1.getTimestamp();
      

  5.   

    简单点的话改sql吧。select to_char(xxxdate,'YYYY/MM/DD HH24:MI:SS') from XXX
      

  6.   

    可以试试这个:java.text.DateFormat dfDefault = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.MEDIUM, java.util.Locale.CHINA);
    DateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    java.sql.Date d = new java.sql.Date( (dfDefault.parse(str)).getTime());
    System.out.println(format.format(d));
      

  7.   

    要保留时分秒的话,数据库中的类型不能是Date的,要是Timestamp 的。
      

  8.   

    我自己解决了。。用的是TimeStamp(时间戳) SimpleDateFormat format=new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");TimeStamp timestamp=rs.getTimeStamp("date"); //直接用resultset get TimeStampDate utilDate=new Date(timestamp.getTime());  //java.util.Date 类format.format(utilDate);最后成功输出了格式保持了 时 分 秒 的精度。。