我的本意是,在数据库中有DateTime型的数据,把它读出来后用Date的getTime()方法得到一个long型的时间数据。以下是我使用的方法:
1.用是的RecordSet的getDate()方法,可用过以后一看,得到的光是日期,没有时间。于是改用RecordSet的getTimestamp()方法,得到Timestamp对象后,用Timestamp对象的getTime()方法得到的long型数据后6位是0,这表明时间数据还是没有得到。于我是改用另一种方法。
2.用RecordSet的getDate()和getTime()方法分别得到时间和日期,然后用SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");formatter.parse( rs.getDate(6).toString() + " " + rs.getTime(6).toString() );
得到一个Date对象,然后用这个Date对象的getTime()方法得到的long型数据的后6位还是0。这是怎么回事呢?主要问题就是:如何从数据库中的DateTime型的数据,转化成java中对应的日期或时间数据类型后,得到这个数据的long值的后6位不是0。
谢谢大家了。

解决方案 »

  1.   

    直接用ResultSet的getTimestamp得到然后再用SimpleDateFormat来转
      

  2.   

    SimpleDateFormat   sdf   =   new   SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    java.util.Date   date = sdf.parse(rs.getTimestamp(6).toString(),new   ParsePosition(0)); date.getTime()的值的后6位还是0,这个方法不行呀。
      

  3.   

    java.util.Date date = new java.util.Date(rs.getTimestamp(6));
      

  4.   

    new java.util.Date(rs.getTimestamp(6))
    Date类没有这个构造函数。
      

  5.   

    java.util.Date date = new java.util.Date(rs.getTimestamp(6).getTime()); 少了 getTime
      

  6.   

    这样出来的Date对象,用getTime方法后还是没有时间值