当然是不可以,因为SQL中的setDate的意思就是只有日期,不含时间的意思!
所以你必须使用setTimestamp

解决方案 »

  1.   

    Oracle中的Date类型就是对于Java中的Timestamp,所以你根本无需怀疑。应该使用setTimestamp!
      

  2.   

    好,谢谢 ChDw(米) !
      

  3.   

    楼主编个程序试试不就知道了,setDate和SetTimeStamp都试试。
      

  4.   

    oracle 中有自带的函数 sysdate可以直接使用啊,不过用的是DB的时间
      

  5.   

    再向各位确认一下:
    setTimestamp()也同时包含日期的吗?
      

  6.   

    setDate()本身不行,不能保存时、分、秒,但你先用java.sql.Date对象的setTime()方法将这个时间设置成有年、月、日、时、分、秒和时间,然后再用setDate()来加到PreparedStatement的参数中去。要注意的是java.sql.Date对象的setTime()方法中的时间格式是GTM格式的。
      

  7.   

    可是Timestamp和java.util.Date间如何转化?
      

  8.   

    to drugon(更高,更远,更强) :
    你的意思是:只要外面传给setDate()的日期是GTM格式的,那么就行了,是吗?
      

  9.   

    怎么越说越复杂PreparedStatement prep =...;
    prep.setTimestamp(1, new Timestamp(System.currentTimeMillis()));
    or
    prep.setTimestamp(1, new Timestamp(utilDate.getTime()));
    在Java里面,可以说Date是没有格式和时区之分的,都是以格林威治时间为准,
    它会自动在setTimestamp的时候转换好,你无需理会这些东西!