用java.sql.Timestamp类吧http://www.javayou.com

解决方案 »

  1.   

    刚刚试验了,也不行new java.sql.Timestamp(System.currentTimeMillis());insert 到 oracle的date中,小时。分。秒都不见了……
      

  2.   

    这个肯定是可以的,只是你的代码有问题prep.setTimestamp(1,new java.sql.Timestamp(System.currentTimeMillis());
      

  3.   

    Locale selectedLocale=new Locale("en","GB");
        String date =DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT,selectedLocale).format(new java.util.Date());
        String sql = "insert into useronline (username_id, username, sid," +
               "logintime,activetime,position,sysid) values (seq_useronline_username_id.NEXTVAL,?,?,to_date(?,'dd/mm/yy hh24:mi'),to_date(?,'dd/mm/yy hh24:mi'),?,?)";
        ps = conn.prepareStatement(sql);
        try {
           ps.setString(1,username);
           ps.setString(2,strPro.produceUniqueRandomString());
           ps.setString(3,date);
           ps.setString(4,date);
           ps.setString(5,position);
           ps.setInt(6,sysid);
           ps.execute();
           return true;
         }
    这样试试,肯定行,我就是这样搞定的
      

  4.   

    public String getFormatedTime(String format) {
    SimpleDateFormat formatter = new SimpleDateFormat(format);
    Calendar cal = Calendar.getInstance();
    return formatter.format(cal.getTime());
    }
    //format指的是指定的格式,如果你要去掉小时分秒,就可以设置
    format = "yyyy-MM-dd"
    //上面是随便写的一个方法,关键是SimpleDateFormat,建议找jdk文档看看
      

  5.   

    SQL类型到Java类型的映射(JDBC规范)BIT            boolean
    TINYINT        byte
    SMALLINT       short
    INTEGER        int
    BIGINT         long
    REAL           float
    FLOAT          double
    DOUBLE         double
    DECIMAL        java.math.BigDecimal
    NUMERIC        java.math.BigDecimal
    CHAR           java.lang.String
    VARCHAR        java.lang.String
    LONGVARCHAR    java.lang.String
    DATE           java.sql.Date
    TIME           java.sql.Time
    TIMESTAMP      java.sql.TimeStamp
    BINARY         byte[]
    VARBINARY      byte[]
    LONGVARBINARY  byte[]
    BLOB           java.sql.Blob
    CLOB           java.sql.Clob
    ARRAY          java.sql.Array
    REF            java.sql.Ref
    STRUCT         java.sql.Struct
    但是,里面一些SQL的类型可能会依具体数据库不同而有不同,显然Oracle和MySQL的DATE不是一个概念。
      

  6.   

    根本不应该使用Oracle的to_date方法!!!!!
    应该改成
    setTimestamp!!!!!!!!!!!!!!String sql = "insert into useronline (username_id, username, sid," +
               "logintime,activetime,position,sysid) values (seq_useronline_username_id.NEXTVAL,?,?,?,?,?,?)";       ps.setTimestamp(3,new java.sql.Timestamp(System.currentTimeMillis()));
           ps.setTimestamp(4,new java.sql.Timestamp(System.currentTimeMillis()));这样已经完成可以了,你为什么非要用String呢
      

  7.   

    为什么不用SimpleDateFormat,,,
    而且你可以使用,new java.sql.Date(new java.util.Date().getTimes());
      

  8.   

    不可能自动将时、分、秒舍去的,除非你的Oracle的字段不是Date类型的或者你用了java.sql.Date类型,而不是java.sql.Timestamp